1
DataTablesのコンテキストでは、ソートされた行のインデックスを取得するにはどうすればよいですか?ソートされた行のインデックスを取得しますか?
カラム4
(つまり、5番目の列)にメッセージ番号が含まれている、ページ単位で並べ替え可能なフィルタリング可能なテーブルがあります。私は、現在のページをそのメッセージ番号を表示しているページに切り替える機能を書いており、そのエントリを含む行を強調表示しています。
var currentHighlight = null;
function goToMessageNumber(number) {
var table = $('#messages').DataTable();
// remove current highlight
if (currentHighlight) {
$(table.row(currentHighlight).nodes()).removeClass('highlight');
}
// find the row we need
var index = table.column(4).data().indexOf(''+number);
if (index === -1) {
return;
}
currentHighlight = index;
// add new highlight
$(table.row(currentHighlight).nodes()).addClass('highlight');
// go to page
var page = Math.floor(currentHighlight/table.page.len());
table.page(page).draw(false);
}
テーブルが最初の並べ替え順序にある場合は、完全に機能します。ただし、フィルタまたは並べ替えが適用されている場合、これは失敗します。ここで簡単な解決策は何ですか?
「
@squint:それは[DataTables](https://datatables.net/)に固有です。 – Claudiu
答えて
現在の
{ search: 'applied' }
の注文でevery()
の行を繰り返して、探している値が存在する現在のページを計算することができます。ここで特定の名前を探している例示的な例である:デモ - >http://jsfiddle.net/1o3fLcqy/
Airi Satou
が配置されているページに上記ジャンプにかかわらず、並べ替え/フィルタリングのは、(Airi Satou
が中に存在すると仮定現在の行)。列5のメッセージ番号と同じことをしてください。行/<tr>
を操作に関して、
rowIdx
は、元のインデックスを保持します。出典
2016-06-12 23:31:06 davidkonrad
関連する問題