有没有办法将过滤器链接在一起,在一列中应用的过滤器会预过滤其他列中的可用过滤器?主要是我从multi_select的角度对此感兴趣,但它可能是我想的所有过滤器类型的通用。
例如:
第1列的数据包含:
第2列的数据包含:
从数据集中我知道所有具有'俄克拉荷马'的第1列数据将始终意味着第2列将等于'罗姆尼'。因此,如果我从mutli_select中选择'Oklahoma',那么第2列的multi_select的下拉现在应该只显示'Romney'。
基本上,我可以根据已经安装的其他过滤器预先过滤我的过滤器吗?
答案 0 :(得分:0)
我想你问的是yadcf的cumulative_filtering: true
选项,
请参阅showcase page和此处的代码示例:
$(document).ready(function () {
'use strict';
var oTable;
oTable = $('#example').DataTable();
yadcf.init(oTable,
[
{
column_number : 0,
filter_type: "multi_select",
select_type: 'select2'
},
{
column_number: 3,
filter_type: "auto_complete",
text_data_delimiter: ","
},
{
column_number : 4,
filter_type: "multi_select",
select_type: 'select2',
column_data_type: "html",
html_data_type: "text",
filter_default_label: "Select tag"
}
],
{
cumulative_filtering: true
}
);
});
如您所见,cumulative_filtering: true
是一个对象属性,这是init
函数的第三个参数的对象,当使用.yadcf([{...}])
api时,您应该将该对象作为.yadcf
约束器的第二个标记,如下:
.yadcf([{...}], {cumulative_filtering: true})