获取数据排序' search.push函数中DataTables的正交值

时间:2018-03-24 16:30:37

标签: datatables datatables-1.10

我在$.fn.dataTable.ext.search.push函数中循环行以根据许多条件选择一些行。我在名为orthogonal数据的表的TD上设置了一些值。我想获得 '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>

2 个答案:

答案 0 :(得分:2)

看起来这样我可以获得价值。如果还有其他更好的方法请咨询:

$(settings.aoData[dataIndex].anCells[2]).data('sort')

答案 1 :(得分:0)

是的,有一种更简单的方法

data 参数是该行的“搜索数据”。即每个列的“过滤器”数据的值-而不是您的“排序”数据/其他任何值。

但是您也可以访问该行的完整数据对象,即第四个参数- 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}`); 
}

按照documentation here