不明确的 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 代码
应该不难解决
-------------------------------------------- ----------------------------------
---------------------------------------------- ----------------------------
添加功能改进请求:
视频中使用的示例: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(不知道什么时候实现)
multi_select filter with select2对于过滤的解决方案有歧义。 如果您在行内有单个值,例如
value1
value2
当你过滤时,你有一个 OR
过滤。它显示具有值 1 和值 2 的所有行。
如果您将文本分隔符设置为逗号或多个分隔符(使用正则表达式),multiple_select 过滤器将作为 AND
条件。
查看第 0 列的示例:Example
是否可以根据您的需要设置 javascript 功能或 AND 条件或 OR 条件?
为了更好地曝光,我制作了一个小视频,说明问题所在以及我希望在 table 中看到的内容。
问题很棘手,但用正确的 javascript 代码
-------------------------------------------- ----------------------------------
---------------------------------------------- ----------------------------
添加功能改进请求:
视频中使用的示例: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(不知道什么时候实现)