如何遍历jQuery DataTables中的所有行?

2021/01/25 12:51 · jquery ·  · 0评论

我正在使用jquery插件D ataTables构建漂亮的表

  var table = $('#example').DataTable({
    "data": source
});

我想为表中的所有行各取一个

不幸的是,这种方式可能已经过时,并且不适用于新版本(这会引发错误)

$(table.fnGetNodes()).each(function () {

});

而且这种方式仅适用于可见行(前10行,因为其他行是分页的)

 table.each( function ( value, index ) {
    console.log( 'Data in index: '+index+' is: '+value );
} );

您知道如何循环到所有行吗?

我终于发现:

 var data = table.rows().data();
 data.each(function (value, index) {
     console.log(`For index ${index}, data value is ${value}`);
 });

数据表针对每行row()。every()都有一个迭代器,this引用要迭代的当前行的上下文。

tableName.rows().every(function(){
    console.log(this.data());
});

如果您使用的是旧版DataTables,则可以获取所有行,即使是分页的,如下所示...

table.fnGetNodes(); // table is the datatables object.

因此,我们可以使用.each()提供的方法遍历行jQuery

jQuery(table.fnGetNodes()).each(function () {
// You can use `jQuery(this).` to access each row, and process it further.            
});

例如,此数据具有三个字段UserID,UserName和isActive,我们只想显示活动用户。下面的代码将返回所有行。

var data = $('#myDataTable').DataTable().rows.data();

我们将仅打印活动用户

data.each(function (value, index) {
  if (value.isActive)
  {
     console.log(value.UserID);
     console.log(value.UserName);
  }
});
本文地址:http://jquery.askforanswer.com/ruhebianlijquery-datatableszhongdesuoyouxing.html
文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!