链接yadcf multi_select过滤器

时间:2015-11-03 20:21:10

标签: yadcf

有没有办法将过滤器链接在一起,在一列中应用的过滤器会预过滤其他列中的可用过滤器?主要是我从multi_select的角度对此感兴趣,但它可能是我想的所有过滤器类型的通用。

例如:

第1列的数据包含:

  1. 俄克拉何马
  2. 密苏里
  3. 犹他州
  4. 德克萨斯
  5. 堪萨斯
  6. 第2列的数据包含:

    1. 奥巴马
    2. 罗姆尼
    3. 从数据集中我知道所有具有'俄克拉荷马'的第1列数据将始终意味着第2列将等于'罗姆尼'。因此,如果我从mutli_select中选择'Oklahoma',那么第2列的multi_select的下拉现在应该只显示'Romney'。

      基本上,我可以根据已经安装的其他过滤器预先过滤我的过滤器吗?

1 个答案:

答案 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})