当我过滤它时清除我对jQuery数据表的全局搜索

时间:2017-11-17 00:34:27

标签: javascript jquery datatables

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

问题是当我首先搜索时,我说我搜索了'测试'它 返回一行然后当我过滤时,过滤器不进行过滤 我在桌子上的那一行,但它清除了我的全局搜索 不知。

有人可以帮帮我吗?

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

1 个答案:

答案 0 :(得分:0)

将过滤器应用于列时,我没有遇到此问题,如果您没有提供列来将过滤器设置为传递给过滤器的值,则会替换搜索。

$(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行(搜索不会重置过滤器)