我正在使用jQuery DataTables来显示分页表。我现在想跳转到包含某一行的页面(使用当前的过滤器/排序设置)。如果我知道行的索引,我可以使用tbl.fnPageChange( Math.floor(rowi / tbl.fnSettings()._iDisplayLength) );
。
但是,我只知道数据数组中的数据对象的索引(由tbl.fnGetData()
返回)。
是否有一种基于此数据索引获取行索引的简单方法?那么几乎与fnGetPosition()
相反?
答案 0 :(得分:1)
更新:我基于循环遍历aiDisplay数组一起攻击了一些东西:
function find_display_index(dataTable, data_index) {
var oSettings = dataTable.fnSettings();
var row_index = -1;
for(var j = 0; j < oSettings.aiDisplay.length; j++) {
if(oSettings.aiDisplay[j] == data_index) {
row_index = j;
break;
}
}
return row_index;
}
不确定这是否是最好的(甚至是完全正确的)方式,但似乎有效!