2017-10-25 2 views
1

テーブルのヘッダーをクリックしてテーブルの列の文字列値を並べ替える必要があります。 ここではアルファベットの並べ替えを行った。 このコードを文字列のソートに変更してください。ここでJqueryでヘッダをクリックしてテーブルの列をソートする方法は?

enter code here 
    var sortOrder = -1; 
    $(".sort").click(function() { 
     sortOrder *= -1; 
    sortTable($(this)); 
    }); 


    function sortTable(element) { 
    var tbody = element.parent(); 
    var colIndex = element.index() -1; 
    tbody.find('tr').sort(function (a, b) 
    { 
     $('td', a).eq(colIndex).text() === "" ? $('td', a).eq(colIndex).text("0") : $('td', a).eq(colIndex).text(); 
     if (sortOrder === 1) 
     { 
      return parseInt($('td', a).eq(colIndex).text(), 10) - parseInt($('td', b).eq(colIndex).text(), 10); 
     } 
     else 
     { 
      return parseInt($('td', b).eq(colIndex).text(), 10) - parseInt($('td', a).eq(colIndex).text(), 10); 
     } 

    }).appendTo(tbody); 
    tbody.find('tr').each(function() { 
     $(this).removeClass(); 
     zebra = zebra === 'odd' ? 'even' : 'odd'; 
     $(this).addClass(zebra); 
     $(this).find("td").eq(colIndex).text() === 0 ? $(this).find("td").eq(colIndex).text(""):$(this).find("td").eq(colIndex).text(); 
    }); 
} 
+0

"DataTable"を実装しようとしましたか?良いライブラリであり、それらの機能はすでに存在し、簡単で面白いです:https://datatables.net/ –

答えて

0

は、テーブルをソートするjQueryのプラグインです:http://tablesorter.com/

+0

ありがとう。それは働いている! – Kuppu

+0

上下の矢印が表示されません。何をすべきか ? – Kuppu

+0

矢印はおそらくcss-> url(path/to/arrow.png)にリンクされています 404のコンソールをチェックし、リンクを修正してください。 –

1

は、デフォルトとしてオプションをソート取得し、また、あなたが、フィルタ、ページネーションと呼ばれるより多くのオプション、などを使用することができますがjQueryのDataTableのJSを使用して... reference

$(document).ready(function(){ 
    $('#myTable').DataTable(); 
}); 
+0

ありがとうございます。それは働いている! – Kuppu

関連する問題