我正在使用为下拉过滤器的数据表构建的插件我正在使用 fnFilter 为它。
问题是当我第一次搜索时,假设我搜索了"测试"它返回一行,然后当我过滤时,过滤器不会进行过滤我在桌子上的一行,但它清除了我的全局搜索不知何故。
有人可以帮我吗?
我认为它只是 fnFilter 清除数据表上的搜索((,但我不想将 fnFilter 更改为搜索。
我将过滤器应用于列时没有这个问题,如果您不提供列以将过滤器设置为传递给过滤器的值将替换搜索。
$(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 示例。
在 jsfiddle 示例中搜索3+
并获取 5 行,然后按过滤器按钮并获取 1 行,然后按重置过滤器按钮并再次获取 5 行。
如果您按下过滤器按钮,您将获得 2 行,无论您搜索什么,您都不会得到超过 2 行(搜索不会重置过滤器(