首页 > 解决方案 > 使用多个自定义切换按钮过滤数据表

问题描述

我正在尝试使按钮过滤器的工作方式类似于此处的 API 页面的工作方式:https ://datatables.net/reference/api/但使用单独的行而不是部分。

例如:

  1. 单击“heavy”按钮,将显示特定列中包含字符串“heavy”的行。

  2. 单击另一个按钮“轻”,显示包含“重”和“轻”的行。

  3. 再次单击“轻”,再次显示“重”行。

  4. 单击“中”按钮,显示“重”和“中”行。

我一直在搜索他们的文档和这里的问题,但找不到解决方案。

以下是我在每次尝试失败后不断减少代码的地方。此代码为该特定按钮显示我想要的行,但是如果我单击另一个按钮,它会重置搜索并且不会将结果添加到它。

$('.filter-button').each(function() {$(this).click(function() {
    program = $(this).text();
    $(this).toggleClass("is-active");
    $.fn.dataTable.ext.search.push(
       function(settings, data, dataIndex) {
          return $(table.row(dataIndex).node()).attr('data-program') == program;
       }
    );
    table.draw();
});

标签: jquerydatatables

解决方案


推荐阅读