javascript - DataTables - 使用单个下拉列表在多列中搜索

标签 javascript datatable datatables

我正在使用 DataTables 并尝试在带有下拉列表的表中搜索结果。但是我需要搜索两个特定的列,而不是搜索一列。

下面的语法适用于单列,但我该如何处理多列呢?

var table = $('#example1').DataTable();
    $("#filter").on('change', function() {
        table.column([4]).search($(this).val()).draw();
    });    

我试过这样做,但是当我使用这段代码时,它只搜索第一列中的结果,例如第 4 列。并忽略其余部分。

        table.column([4,5]).search($(this).val()).draw();

正确的方法是什么?

最佳答案

让我们在这里总结一下所有的事情。它也会帮助其他人。

您可以通过以下方式实现:

table.column(4).search(this.value).column(5).search(this.val‌​ue).draw();

它将在 4 列(4 是列的索引)上执行搜索,之后它将根据提供的过滤值从 5 列中过滤数据,最后绘制表格。

要记住的一件事是,过滤器应用于两列,因此两列都必须包含匹配的数据。

Here is its filddle


这可以通过使用 fnMultiFilter 来实现正如它的文档解释的那样:

此插件为 DataTables 添加了在单个调用中设置多个列过滤条件的能力(如果使用服务器端处理,则特别有用)。与列 sName 参数结合使用,只需传入一个对象,其中键/值对是您要搜索的列,以及您要搜索的值。

关于javascript - DataTables - 使用单个下拉列表在多列中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43384010/

相关文章:

c# - SQL 批量复制截断十进制

php - 数据表 - 以 HTML <td> 元素形式返回列

javascript - 如何重绘jquery数据表?

javascript - 如何通过引用查找数组元素以便将数组与 typescript 合并?

Javascript 数组不会在 componentDidMount 之外更新

javascript - Uncaught Error : Template parse errors: Angular 4

javascript - 销毁数据表以重用

javascript - 当 javascript 尝试解析包含从 C# 发送的列表的对象时,CefSharp 崩溃

jquery - 隐藏和显示按钮未使用数据表 api 显示

c# - 从数据表中删除重复项的最佳方法是什么?