【问题标题】:How to loop through all rows in DataTables jQuery?如何遍历 DataTables jQuery 中的所有行?
【发布时间】:2015-05-18 15:08:28
【问题描述】:

我正在使用 jquery 插件 DataTables 来构建漂亮的表格

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

我希望为表中的所有行创建一个 each

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

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

});

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

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

请问你知道如何循环到所有行吗?

【问题讨论】:

  • 什么意思?你想显示所有行吗?如果是这样,那么你可以试试这个:var table = $('#example').DataTable({ "paging":false });
  • 感谢您的回答,不,我不想显示所有行,我想动态循环代码中的所有行,甚至是分页的行
  • 也许你可以只使用数据..我的意思是你填写数据表的数据来源..我不确定..
  • 是的,好主意,但碰巧 init dataTable 数据已被用户更改(我有一个允许用户编辑、添加和删除行而不重绘所有 dataTable 的系统)。我想知道例如第 27 行显示的是哪一行
  • Unfortunately this way may be out of date and does't work with new version (it launchs an error) 它抛出的错误是什么?

标签: javascript jquery datatables jquery-datatables


【解决方案1】:

我终于找到了:

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

【讨论】:

  • 警告:这只会迭代传递给 dataTables 的数据本身 - 所以你给它的任何 HTML 都将是这个方法中的一个字符串。
  • 我终于找到你了。非常感谢您的回答
  • 如何只获取特定的列值?
  • 我只得到第一页数据。如何获取下一页?
【解决方案2】:

数据表的每一行都有一个迭代器rows().every()this 指的是被迭代的当前行的上下文。

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

【讨论】:

  • 通过这个我们将获得当前寻呼机的行。如何获取所有寻呼机数据。
【解决方案3】:

如果您使用的是旧版 DataTables,那么您可以获得所有行甚至是分页的行,如下所示...

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

所以我们可以使用jQuery提供的.each()方法循环遍历行。

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

【讨论】:

    【解决方案4】:

    例如,此数据包含三个字段 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);
      }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-03
      • 2010-12-13
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多