【发布时间】:2016-10-12 22:35:11
【问题描述】:
在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);
}
如果表格处于初始排序顺序,它会完美运行。但是,当应用过滤器或排序时,这会失败。这里有什么简单的解决方案?
【问题讨论】:
-
如果您的意思是
<tr>元素,您始终可以使用.rowIndex属性获取索引。或者您是在询问特定于图书馆的事情? -
@squint:是的,它特定于DataTables。
标签: javascript sorting datatables html-table