从search.push函数中的DataTables获取“data-sort”正交值

问题描述 投票:2回答:2

我在$.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>
datatables datatables-1.10
2个回答
2
投票

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

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

0
投票

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

数据参数是行的“搜索数据”。即每个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}`); 
}

根据documentation here

© www.soinside.com 2019 - 2024. All rights reserved.