私はexampleのようなチェックボックスでデータテーブルを持っています。CSSテーブルでデータテーブル内の選択した行を並べ替える
チェックボックスは、CSS :after
および:before
疑似要素を使用して作成されるため、それらを保持する列には値がありません。
ユーザーがボタンをクリックしたときにプログラムによっていくつかの行が選択されていますが、選択した行がテーブルの上部に表示されます。これは主に、特に選択した行が非表示のページにあるときに何か起こっていることをユーザーに見せるためです。 https://jsfiddle.net/b22kx27s/2/
私が先頭に選択された行をもたらすために、カスタムソート関数に探してみましたが、列には値がないので、それを行う方法を見つけ出すことができませんでした。ここで
はフィドルです。最初の列のcolumnDefs
に
orderDataType: 'dom-checkbox'
を使用
$.fn.dataTable.ext.order['dom-checkbox'] = function (settings, col)
{
return this.api().column(col, {order:'index'}).nodes().map(function (td, i) {
return $(td).closest('tr').hasClass('selected') ? '1' : '0';
});
}
注文することを可能にする:
その列で何らかのデータが変更されていないと、チェックボックスをオンにしてデータテーブルを並べ替える方法がわかりません。 (これらのチェックボックスを達成するために:beforeと:afterを巧妙に使用!) –
cale_bと同意する...プラグインの内部がカスタムソートを行うときに行データを参照できるどこかの状態を保存しなければならない。プラグインデータ以外のデータストアに格納することもできますが、それはやり方がやや難しくなります – charlietfl