首页 > 解决方案 > DataTables 智能搜索 - 未按预期运行

问题描述

search() 函数的文档指定了功能:

不按顺序匹配单词。例如,如果您搜索 Allan Fife,它将匹配包含单词 Allan 和 Fife 的行,无论它们在表中出现的顺序或位置如何。

但是,我认为情况并非如此。如果您在此示例https://datatables.net/examples/api/regex.html上搜索“chief junior”(不带括号),您会期望返回包含“chief”或“junior”的所有结果,但 API 似乎使用 AND 而不是 OR。

我正在尝试创建一个多选下拉列表来过滤表格,但我需要能够选择多个参数。有没有办法告诉我们 API OR 而不是 AND 或者这不可用?

标签: javascriptregexsearchfilterdatatables

解决方案


我认为您误读了您引用的原始文本-“例如,如果您搜索 Allan Fife,它将匹配包含单词 Allan 和 Fife 的行”。请注意,它表示“一行”,其中包含单词 Allan 和 Fife。在您的示例“chief junior”中,没有一行包含这两个词。

如果您想要任何包含“chief”或“junior”的行,请输入“(junior|chief)”,勾选“Treat as a regex”并取消勾选“Use smart search”。


推荐阅读