我在$.fn.dataTable.ext.search.push
函数中循环行以根据许多条件选择一些行。我在表格的TD
上设置了一些值,称为orthogonal数据。我想要获得'data-sort'
的价值,但我不知道如何。我可以通过data[2]
(第2列)获取单元格的内部数据,但不能获取“数据排序”或“数据过滤器”。有任何想法吗?
$.fn.dataTable.ext.search.push(
function (settings, data, dataIndex) {
var iRating = parseFloat(data[2]) || 0; // this works
var datasort = //somehow get the data-sort from the TD
);
HTML
<td data-sort="57000" class=" seqNum">.....</td>
看起来这样我可以获得价值。如果还有其他更好的方法请咨询:
$(settings.aoData[dataIndex].anCells[2]).data('sort')
是的,有一种更简单的方法。
数据参数是行的“搜索数据”。即每个col的“过滤器”数据的值 - 不是你的“排序”数据/其他任何东西。
但您也可以访问该行的完整数据对象,即第4个参数 - rowData。
所以你需要在你想要的列的索引处使用rowData(你说'对于第2列',基于零,所以 - 2将用于第3列)。
然后你应该找到一个名为'sort'的属性:
function(settings, searchData, index, rowData, counter){
var dataSort = rowData[1]['sort'];
console.log(`This should be the value you want : ${dataSort}`);
}