残念ながら、jquery dataTables には、これに対する組み込み機能はありません。しかし、実装は非常に簡単です。手順は次のとおりです。
1 ) デフォルトのヘッダー アイコンを削除します。1.10.x では、この CSS を使用します。
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
background: none;
}
2)空白のワードラップと醜いアウトラインも削除します
th {
white-space: nowrap;
outline: none;
}
3)ボタンをスタイルするクラスを作成します
.sort-btn {
padding: 0px;
float: right;
font-size: 10px;
}
4 ) dataTable を初期化した後、<th>
's を繰り返します。それぞれについて、デフォルトのクリック イベントのバインドを解除し、.asc
と.desc
ボタンを追加し、ボタンごとに列を昇順または降順で並べ替えるためのイベントを挿入します。
$('#example th').each(function(index, th) {
$(th).unbind('click');
$(th).append('<button class="sort-btn btn-asc">▲</button>');
$(th).append('<button class="sort-btn btn-desc">▼</button>');
$(th).find('.btn-asc').click(function() {
table.column(index).order('asc').draw();
});
$(th).find('.btn-desc').click(function() {
table.column(index).order('desc').draw();
});
});
5 ) 結果は次のようになります。
デモ -> http://jsfiddle.net/wyLzgjv5/