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
相關問題