jQuery dataTables:基于字符串的过滤器

Posted

技术标签:

【中文标题】jQuery dataTables:基于字符串的过滤器【英文标题】:jQuery dataTables: Filter based on string 【发布时间】:2019-08-16 10:13:22 【问题描述】:

我有一个通过转发器填充的表,并且我添加了相关的 dataTable .css 和 .js 以启用插件。这可以正常工作并且符合预期。我遇到的问题是我现在如何启用一些“过滤器按钮”,单击这些“过滤器按钮”会将基于字符串的过滤器应用于表数据。我可以通过使用您可以启用的实际搜索栏来模拟我想要的东西,但我更希望有一些锚标签作为可点击的按钮/过滤器来触发它。

示例表

ID :  Type   
----------
1  :  Car
2  :  Car
3  :  Bike
4  :  Bike
5  :  Car

页面底部的javascript如下所示:

var table = $('#example').DataTable();

var filteredData = table
    .columns( [0, 1] )
    .data()
    .flatten()
    .filter( function ( value, index ) 
        return value = 'Bike' ? true : false;
     );

我怀疑我定义搜索条件的方式存在问题,在上面的示例中,这是尝试对第 0 列或第 1 列中包含字符串“Bike”的任何内容设置过滤器。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

试试这个:

var table = $('#example').DataTable();
    table.columns( [0, 1] )
        .search('Bike')
        .draw();

参考:https://datatables.net/reference/api/column().search()

【讨论】:

感谢您的回复,这对我的目的很有效。谢谢 Mohsin。

以上是关于jQuery dataTables:基于字符串的过滤器的主要内容,如果未能解决你的问题,请参考以下文章

基于标签显示图像 - jQuery Datatables

基于if条件的jQuery DataTable列

基于 Datatable Jquery 的插件 - 表格 - 表格中可折叠的问题 - Javascript/HTML

DataTables jQuery:如何使用单元格的值而不是基于正在呈现的值进行搜索?

如何在 Jquery Datatables 中根据条件隐藏列?

为dataTable jquery插件获取数组时出现“非法字符串偏移”错误