jQuery (最新バージョン) の DataTable プラグインを使用して 2 つの列を並べ替えようとしています。以上で、オンロードで大丈夫です。
$('#example').dataTable( {
"aaSorting": [ [2,'asc'], [3,'asc'] ],
});
クリックで2列をソートするのは少し難しいです。たとえば、ユーザーが「アルバム」をクリックすると、テーブルは TrackNo 列をソートしません。私のテーブルは次のようになります。
-------------------------------------
| Album | TrackNo |
-------------------------------------
| MyAlbum 2010 | 1 out of 12 |
| MyAlbum 2010 | 9 out of 12 |
| MyAlbum 2010 | 10 out of 12 |
| MyAlbum 2010 | 4 out of 12 |
| MyAlbum 2010 | 2 out of 12 |
| MyAlbum 2010 | 12 out of 12 |
-------------------------------------
別の問題は、列「アルバム」を並べ替えるときです。TrackNo 列は、1、10、12、2、4、9 の順序で並べ替えられます。
DataTable の並べ替え方法を次のように変更できることに気付きました。
jQuery.fn.dataTableExt.oSort['numericstring-case-asc'] = function(x,y) {
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['numericstring-case-desc'] = function(x,y) {
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};
私の質問は、各トラックの前にゼロを追加せずにトラックを適切な順序で表示するように、TrackNo 列を並べ替えるにはどうすればよいですか? クリック時に2つの列をソートするにはどうすればよいですか?