我一直在尝试在遍历所有过滤行时获取隐藏的列数据。
var table = $('#'+dataTableSelector).dataTable();
table.$('tr', {"filter":"applied"}).each( function () {
var row = this;
});
很明显row指的是datatable的TR实例;但是,如果我访问 TR 的子元素,这些元素仅包含相关行的可见列。
我想访问相关行的所有数据,但是当我尝试在每个函数中引用数据表或 table.row(this).node()
时,它不会work - row 不是函数。
如何获取应用过滤器的行的所有数据?
最佳答案
$(dataTableSelector).DataTable().rows( { filter: 'applied' } ).every( function () {
var row = this.data();
});
这将获取 DataTable 实例(其中 dataTableSelector 是您的 HTML 标记中的表 ID),然后获取应用了过滤器的所有行,然后遍历所有这些行。
与应用的过滤器不匹配的行(因此在您的 DataTable 中不可见)将不在 rows( { filter: 'applied' } )
返回的结果中
您可以通过row[0]
、row[1]
等访问行的每一列;行将是所有列的数组,包括不可见的列。
关于javascript - jQuery DataTables - 迭代过滤行并获取节点/隐藏列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49731266/