【问题标题】:How to get filtered Data result set from jQuery Datatable如何从 jQuery Datatable 中获取过滤后的数据结果集
【发布时间】:2016-01-15 03:46:58
【问题描述】:

如果有人在这个问题上帮助我,那就太好了。

我只是想从数据表中获取过滤后的结果集。

下面是我的代码。

var filtered_row_data = $('#example').DataTable().column(1).search('186').data().unique().sort();

 console.log(JSON.stringify(filtered_row_data));

它只返回所有行而不是过滤值。

我正在使用最新的稳定版 Datatable。

有人可以帮忙吗?

【问题讨论】:

    标签: jquery datatables datatables-1.10


    【解决方案1】:

    请参阅数据表selector-modifiers。你正在寻找{filter : 'applied'}

    table.on('search.dt', function() {
        //number of filtered rows
        console.log(table.rows( { filter : 'applied'} ).nodes().length);
        //filtered rows data as arrays
        console.log(table.rows( { filter : 'applied'} ).data());                                  
    })  
    

    演示 -> http://jsfiddle.net/h4wrmfx3/

    【讨论】:

    • 它的工作,但是当我使用它两次!,奇怪的是,当我点击搜索按钮并控制台它时,它显示我 10 记录但是当我再次点击搜索时它显示我 3(这是正确的不) .你能帮忙解决这个问题吗?
    • @Rohit,你能用小提琴重现这个吗?尝试了上面的答案,它似乎按预期工作。
    • 根据你的建议这是我的小提琴jsfiddle.net/RohitSavaliya2010/sz7w5uvr/1你能检查一下吗?
    • @Rohit,好吧,它不起作用,只是一些脱离上下文的代码 :) 你可以获取上面的 jsfiddle.net/h4wrmfx3 并添加/修改然后更新或分叉。
    • @Manza 按照链接到datatables.net/reference/type/selector-modifier(与答案相同)
    【解决方案2】:

    如果您正在使用服务器端过滤/搜索,这是我找到的唯一解决方案并且有效:xhr event

    $('#yourTable').on('xhr.dt', function ( e, settings, json, xhr ) {
            //the new data is here json.data
            console.log(json.data);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 2016-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多