这可能是与YADCF相关的更多DataTables,但如果该功能不存在,我在这里要求它作为一个明显的增强。
我有一个列/ s,可以包含多个值'标记',类似于YADCF示例。允许通过这些标记过滤的过滤器生成正确。
JSFiddle here https://jsfiddle.net/wallacio/622704ep/6/
请参阅标题为区域和 Rig 的列(请原谅可怕的颜色......!)
如果我希望只看到 South 中的事件,我需要使用filter_match_mode: "exact"
(以排除西南,东南等地区的事件)
有一个事件(在未过滤的视图中排在第8位),其中包含标签" South"和#34;东南" Event containing South and South East tags
当过滤" South"时,此事件不会出现,大概是因为精确过滤器与整个单元格的内容匹配,而不是与其中的每个离散HTML元素相匹配。
我可以将filter_match_mode更改为"包含"但这会导致被标记的东西"东南"等出现,这是不可取的。
我已经通过源进行了拖网,并且可以看到在生成过滤器选项时会考虑这一点,但显然不是在过滤时,这就是为什么我想知道它是否是由如何引起的限制DataTables过滤器已实现。
答案 0 :(得分:1)
您可以使用filter_type: 'custom_func',
并为该特定列编写自己的过滤逻辑
column_number: 0,
filter_type: 'custom_func',
custom_func: myCustomFilterFunction,
data: ['one', 'two', 'three']
其中myCustomFilterFunction
看起来像
function myCustomFilterFunction(filterVal, columnVal) {
var found = false;
if (columnVal === '') {
return true;
}
switch (filterVal) {
case 'one':
found = //some logic goes here
break;
case 'two':
found = //some logic goes here
break;
case 'three':
found = //some logic goes here
break;
default:
found = false;
break;
}
if (found) {
return true;
}
return false;
}