-1
私はDataTables 1.10.10を使用しています。チェックボックスをオン(on)にした場合と、逆の場合は、すべての列の並べ替えを無効にします。これは、初期化の後に行われます。すべての列の並べ替えを無効にする - dataTables
私はDataTables 1.10.10を使用しています。チェックボックスをオン(on)にした場合と、逆の場合は、すべての列の並べ替えを無効にします。これは、初期化の後に行われます。すべての列の並べ替えを無効にする - dataTables
短い答えは:できません!並べ替え機能を完全に変更する唯一の方法は、ordering: false
を設定し、テーブルを再初期化することです。
しかし、いくつかのjQueryの魔法では、各<th>
ループスルー、イベント、unbind()
を保存することができますし、再び必要にソートする場合、次にその<th>
年代に保存されたイベントを再接続します。これは簡単な作業ではありません。各列には3つのイベントがあります:click
,keypress
およびselectStart.dt
です。さらに、各イベントは、unbind()
のときに破壊されるため、深くクローンされなければなりません。ここで
はチェックボックスがクリックされたときにこれを行うための例です:
var storedEvents;
$('#sort').change(function() {
if (!$(this).is(':checked') && storedEvents) {
$('#example thead th').each(function(index, th) {
for (var event in storedEvents[index]) {
$(th).bind(event, storedEvents[index][event][0])
}
})
} else {
storedEvents = [];
$('#example thead th').each(function() {
storedEvents.push($.extend(true, {}, $._data(this, "events")));
$(this).unbind();
})
}
})