yadcf: exFilterColumn 函数不工作

yadcf: exFilterColumn function is not working

我在我的网站上使用数据表和 yadcf。一切正常。在某些情况下,我想预过滤一列。

yadcf.init(oTable, [ {
                        column_number : 1,
                        filter_default_label : "",
                        filter_reset_button_text : false,
                        filter_type : "multi_select",
                        select_type : 'select2'

                    }, {
                        column_number : 2,
                        filter_default_label : "",
                        filter_reset_button_text : false,
                        filter_type : "multi_select",
                        select_type : 'select2'

                    }, {
                        column_number : 3,
                        filter_default_label : "",
                        filter_reset_button_text : false,
                        filter_type : "multi_select",
                        select_type : 'select2' 

                    }, {
                        column_number : 5,
                        filter_default_label : "",
                        filter_reset_button_text : false,
                        filter_type : "multi_select",
                        select_type : 'select2'

                    }, {
                        column_number : 6,
                        filter_default_label : "",
                        filter_reset_button_text : false,
                        filter_type : "multi_select",
                        select_type : 'select2'

                    } ]);

到目前为止一切正常。但是当我添加:

yadcf.exFilterColumn(oTable, [[3, 'WNC402']]);

没有出现任何过滤器。控制台输出错误为:

jquery.dataTables.yadcf.js:688 Uncaught TypeError: selected_value.join is not a function
    at yadcfMatchFilterString (jquery.dataTables.yadcf.js:688)
    at Object.exFilterColumn (jquery.dataTables.yadcf.js:3792)
    at HTMLDocument.<anonymous>
    at i (jquery-2.2.4.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-2.2.4.min.js:2)
    at Function.ready (jquery-2.2.4.min.js:2)
    at HTMLDocument.J (jquery-2.2.4.min.js:2)

网站仍然可以正常加载,我什至可以手动设置过滤器。但该功能应该完成这项工作。

我的数据表版本是:1.10.12

我的yadcf版本是:0.8.9

一些链接:

https://datatables.net/

https://github.com/vedmack/yadcf

谢谢。

好的,我发现了一些东西。我使用了数据表搜索功能,而不是使用 yadcf 的 exColumnFilter 功能。

oTable.columns(3).search("WNC402").draw();

很有魅力。 过滤器现在出现,在我的例子中甚至是可移动的。

我希望这对其他人也有帮助。

请阅读the docs和过滤mutiselect列的用法示例

yadcf.exFilterColumn(oTable, [[0, ['Some Data 1','Some Data 2']]]); // for pre filtering multi select filter you should use array with values (or an array with single value)

由于它是一个多重 select 过滤器,您必须在数组中提供过滤器值。

我已经在数据表的初始化完成事件中解决了 jQuery 的问题。

$("#yadcf-filter--kt_datatable-28").val("Active");
$("#yadcf-filter--kt_datatable-28").trigger("change");