我正在使用jQuery DataTables(http://www.datatables.net/)来显示一些表格数据 . 搜索/过滤器是一个强大的功能 . 虽然如果在表格中搜索多个关键字,搜索仅过滤已过滤的数据 .
例如,在这里的示例 - http://jsfiddle.net/illuminatus/2j0Lz5or/1/
如果像 10 99
那样搜索关键字,则不会产生任何结果 . 我希望搜索显示包含搜索或输入的所有关键字的所有结果/行 .
搜索 10 99
将显示第1,5和6行 .
从技术上讲,搜索应该是“搜索” .
非常感谢任何帮助 .
编辑:搜索应该是'或'搜索 .
4 回答
AND -filter(包括存在所有搜索词的行) . 这custom filter会覆盖内置过滤进程 . 将每行中的每列与每个搜索词进行比较 .
叉小提琴 - > http://jsfiddle.net/9d097s4a/
OR -filter(包括至少存在一个搜索词的行) . 这是另一种方法,主要是试图简化上述this answer . 而不是使用
oSearch
和硬编码的搜索术语,默认过滤事件将替换为标记搜索短语的事件,然后执行高级fnFilter()
. 作为可选实验,现在只在用户点击输入时执行搜索 - 感觉更自然 .看演示 - > http://jsfiddle.net/2p8sa9ww/
我通过使用regEx搜索得到了这个 . 我使用以下regEx在整个表中搜索关键字
10 99
^(?=.*?(10|99)).*?
叉小提琴 - http://jsfiddle.net/illuminatus/2j0Lz5or/6/
参考:http://datatables.net/forums/discussion/12062/filtering-jquery-datatable-using-regular-expression
更新了数据表1.10
//在新位置搜索字段
相同但触发搜索“每个”按键而不是按Enter键: