数据表使用搜索过滤器触发行组单击

时间:2019-08-28 12:57:40

标签: datatables grouping

我正在使用最新的row grouping extension构建Datatables应用程序。我已经成功地使表格最初显示为折叠的行组。使用datatables搜索过滤器时,我希望将行组扩展为显示包含过滤器匹配项的行。

我已经建立了一个有效的jsfiddle。有人可以帮忙吗?

以前,我可以使用实时滤镜功能来做到这一点。

oTable.live('filter',function() {
    clearTimeout(oTable.data('timeout'));
   var timeoutId = setTimeout(function(){
       if($('label:contains(Table search: ) input').val() != '') {
          $('.group-item-expander.collapsed-group').trigger('click');
       }
       else {
           $('.group-item-expander.expanded-group').trigger('click');
       }
   },1000);
   oTable.data('timeout',timeoutId);
});

1 个答案:

答案 0 :(得分:0)

您可以在搜索时启用和禁用行组功能:

oTable.on('search', function() {
    if (oTable.search()) { // actually searching for some text
        oTable.rows().nodes().each(function(r) {
            r.style.display = ''; // show all previously collapsed rows
        });
        oTable.rowGroup().disable();
    } else {
        oTable.rowGroup().enable();
    }
});

查看此更新的fiddle