不明确的 multi_select 过滤器 - AND 和 OR 条件 - javascript

ambiguous multi_select filter - AND and OR condition - javascript

yadcf(datatables plugin)中的

multi_select filter with select2对于过滤的解决方案有歧义。 如果您在行内有单个值,例如

value1
value2

当你过滤时,你有一个 OR 过滤。它显示具有值 1 和值 2 的所有行。
如果您将文本分隔符设置为逗号或多个分隔符(使用正则表达式),multiple_select 过滤器将作为 AND 条件。
查看第 0 列的示例:Example
是否可以根据您的需要设置 javascript 功能或 AND 条件或 OR 条件?

为了更好地曝光,我制作了一个小视频,说明问题所在以及我希望在 table 中看到的内容。
问题很棘手,但用正确的 javascript 代码

应该不难解决

VIDEO

-------------------------------------------- ----------------------------------
---------------------------------------------- ----------------------------

添加功能改进请求:

New VIDEO

视频中使用的示例:Table

文本定界符的目的是帮助您将列中的值提取到过滤器中,但是...当您尝试从过滤器中选取一个值并将其应用于 table 时,您将获得 selected 值所在的所有行。

如果您希望在选取一个值时执行如此高级的逻辑,您应该使用 filter_type: 'custom_func'multi_select_custom_func 查看它在 the showcase 上的工作方式(它第一列)向下滚动以查看该页面上使用的代码。


最后我明白了你的问题,虽然 multi select 应该始终作为 OR 过滤器在 selected 值上工作但它没有这样做,我已经在 latest beta 0.8.8.beta.11 and here is an updated jsfiddle


关于您的 AND 问题:您无法使用包含 AAA、BBB 和现在您的用户可以 select AAA 然后 BBB(应该可以),但他也可以 select BBB 然后 AAA,并且没有正则表达式可以将 BBB、AAA 识别为 AAA、BBB(并且只是一个小例子)

所以最好的解决方案是在 filter_type: "multi_select" 和 text_data_delimiter 之间切换到(filter_type: "multi_select" 没有 text_data_delimiter 或 filter_type: "select"

而且已经有了similar issue open for that(不知道什么时候实现)