假设我有一个表格,列出了产品所属的产品和类别。一个产品可以有一个或多个类别,例如:
产品
+----+----------+---------------+
| id | name | category |
+----+----------+---------------+
| 1 | 256GBSSD | Mobile,Mac,PC |
+----+----------+---------------+
| 2 | 8GBRAM | Mac,PC |
+----+----------+---------------+
我正在创建方面,根据类别过滤掉产品。我正在使用Datatables.js 我想将逗号分隔的类别投影到各个方面,以便Mac的过滤器列出上表中的产品,即使它们还有其他类别。
如何告诉datatables.js,当涉及第三列时,它应该将逗号分隔列表中的每个类别列为可搜索且唯一(无重复)类别?
答案 0 :(得分:3)
这似乎可以解决它:https://github.com/vedmack/yadcf
他们的例子看起来就像你想要的那样:http://jsbin.com/esezof/1
答案 1 :(得分:3)
通过一些调整让它开箱即用。
事实证明filter API比我原先看到的要多一些参数。
oTable.fnFilter(searchTerm, columnId, useRegularExpressions, useSmartFilter);
如果useRegularExpressions
设置为false且useSmartFilter
为true,那么如果列包含 searchTerm
,则会将其作为匹配项返回。
我只需要确保在搜索包含CSV的列时提供正确的参数
我承认我必须查看@Ove提供的API(+1)以了解如何为方面收集不同的项目 - 但它已经由fnGetColumnData
plugin实现,只需要一点点调整。