我在迭代它们时,一直试图抓住所有已过滤行的隐藏列数据。
var table = $('#'+dataTableSelector).dataTable();
table.$('tr', {"filter":"applied"}).each( function () {
var row = this;
});
显然row指的是数据表的TR实例;但是,如果我访问TR的子元素,则这些元素仅包含相关行的可见列。
我想访问相关行的所有数据,但是当我尝试引用数据表时,或者在每个函数中table.row(this).node()
它都不起作用 - 行不是函数。
如何获取应用过滤器的行的所有数据?
答案 0 :(得分:1)
$(dataTableSelector).DataTable().rows( { filter: 'applied' } ).every( function () {
var row = this.data();
});
这将获取DataTable实例(其中dataTableSelector是HTML标记中的表ID),然后获取已应用过滤器的所有行,然后遍历所有这些行。
与所应用的过滤器不匹配的行(因此在您的DataTable中不可见)将不在rows( { filter: 'applied' } )
您可以row[0]
,row[1]
等访问该行的每一列; row将是所有列的数组,包括不可见的列。
答案 1 :(得分:0)
如果您使用DataRables API作为@Resurgent建议,则仍会返回隐藏列的数据。因此,如果想要数组中的数据,请使用该建议或table.rows({filter:'applied'}).data()
之类的内容。