首页 > 解决方案 > 或使用 jquery-datatables 搜索

问题描述

我不确定我的正则表达式是否正确,或者我是否不了解如何让数据表接受我的搜索。

jsfiddle:http: //jsfiddle.net/zatvo506/2

我试图能够过滤/搜索第 1 列(日期/时间),以便当我单击搜索 1 时显示两条记录。

简而言之,我试图找出正确的方法:

data_table.column(1).search('01|02', true, true).draw()

并显示所有包含 01 或 02 的行。

在我的小提琴中,只显示了包含 01 的行。

标签: jqueryregexdatatables

解决方案


我之前的回答是错误的……即使更新后的 Fiddle 看起来很有说服力。

你是正确的.search('01|02', true, true).search('REC|SHP', true, true)

有 4 个可能的论点:

  1. (字符串 - 强制)搜索字符串
  2. (boolean - optional, default:false)将搜索字符串视为正则表达式
  3. (布尔 - 可选,默认值:true)“智能搜索”
  4. (boolean - optional, default:true) 大小写激励

更多参考

所以......实际上没有必要将其格式化为“真正的”正则表达式......第二个参数会处理它。

  你让我在这里学到了一些关于 DataTables 的新知识!谢谢!

现在,我挠了好久,并产生了幻觉,因为搜索似乎很奇怪……

我终于注意到您使用的 CDN:

https://cdn.datatables.net/v/bs4/dt-1.10.18/r-2.2.2/datatables.min.css

我将其替换为:

https://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.19/js/jquery.dataTables.min.js

也改变了 .css CDN。)所有的小精灵
都消失了……见这个CodePen。所以我认为这应该是你的解决方案。

我无法解释太多......发行说明不是很详细。


推荐阅读