【问题标题】:Iterating through and 'selecting' jQuery DataTables rows遍历和“选择”jQuery DataTables 行
【发布时间】:2015-01-03 13:43:42
【问题描述】:

我正在使用 jQuery DataTables 1.10.3 创建一个表,其中包含从 Web 服务获取的 JSON 数据。数据链接到我的应用程序页面上的其他元素,这样当用户在一个元素中选择数据点时,DataTable 应该更新并“选择”补充行(只需将 active 类添加到行 @987654323 @ 标签)。鉴于documentation,这似乎可以通过以下方式轻松完成:

var table = $("#my-table").DataTable();
table.rows().each(function(r){
    if (r.data().category == 'XYZ'){
        r.node().to$().addClass("active");
    }
});

但这不起作用,因为.rows() 返回的是行索引数组而不是行对象。相反,我已经实现了这个:

var table = $("#my-table").DataTable();
table.rows().indexes().each(function(i){
    var r = table.row(i);
    if (r.data().category == 'XYZ'){
        r.node().to$().addClass("active");
    }
});

考虑到表中的记录数量相对较少(3000 行约 3 秒),这可行,但速度非常慢。有没有更好的方法来遍历我缺少的 DataTable 行?或者是否可以根据数据值进行行选择? .rows() 返回 API 对象的文档是否不正确?

【问题讨论】:

    标签: javascript jquery datatables


    【解决方案1】:

    嗯,我找到了第二个问题的答案:

    或者是否可以根据数据值进行行选择?

    var table = $("#my-table").DataTable();
    table.rows(function(idx, data, node){
        return data.category == 'XYZ' ? true: false;
    }).nodes().to$().addClass("active");
    

    这几乎是立即运行的,因此它可以处理我的用例,但我仍然想知道以更通用的方式遍历行的最佳方法是什么。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 2013-06-23
      • 2013-10-23
      • 1970-01-01
      • 2015-05-18
      • 2018-05-14
      相关资源
      最近更新 更多