【问题标题】:When I filter it clears my global search on jQuery datatable当我过滤它时,它会清除我在 jQuery 数据表上的全局搜索
【发布时间】:2017-11-17 00:34:26
【问题描述】:

我正在使用我为下拉过滤器的数据表构建的插件 我正在使用 fnFilter。

问题是当我首先搜索时假设我搜索了“测试”它 返回一行然后当我过滤时,过滤器不会过滤 我在桌子上的一行,但它清除了我的全局搜索 不知何故。

有人可以帮我解决这个问题吗?

我认为它只是 fnFilter 清除了数据表上的 search() 但我不想 将 fnFilter 更改为搜索。

【问题讨论】:

  • 请至少发布一段 sn-p 代码以显示您的尝试。

标签: javascript jquery datatables


【解决方案1】:

将过滤器应用于列时我没有这个问题,如果您不提供将过滤器设置为传递给过滤器的值的列将替换搜索。

$(document).ready(function() {
    const dt = $('#example').dataTable({"sPaginationType": "full_numbers"});
    $("#filterbtn").on("click",x=>{
        dt.fnFilter( 'Gecko',0 );//column will not replace search
      dt.fnFilter( 'Camino',1 );//multiple filters are possible
    });
    $("#resetfilterbtn").on("click",x=>{
        dt.fnFilter( '',0 );//reset the filter (does not reset search)
      dt.fnFilter( '',1 );
    });
});

这是jsfiddle example

在 jsfiddle 示例中搜索 3+ 并获得 5 行,然后按过滤按钮并获得 1 行,然后按重置过滤按钮并再次获得 5 行。

如果您按下过滤器按钮,您将获得 2 行,无论您搜索什么,您都不会超过 2 行(搜索不会重置过滤器)

【讨论】:

  • 非常感谢您的帮助,我的过滤器上确实指定了列索引号。但是我有一个问题,如果我也搜索列怎么办?所以假设我有 fnFilter 并且正在使用全局 serach 并搜索特定列,通过执行您提到的内容,即使我每列也有 serach,它仍然可以工作吗?
猜你喜欢
  • 2020-10-04
  • 2013-01-08
  • 2020-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-25
  • 1970-01-01
  • 2014-02-03
相关资源
最近更新 更多