数据表yadcf自定义函数未触发

时间:2015-06-11 11:19:13

标签: datatable yadcf

我正在使用数据表和运行良好的yadcf插件。但是,我试图添加一个自定义过滤器,没有运气让它工作。它似乎被忽略了。

基本上我想过滤一个单元格是空的还是有数据

我用这个例子作为起点: http://yadcf-showcase.appspot.com/DOM_source.html

我的自定义功能是:

function filterGroupName(filterVal, columnVal) {
    var found;
    if (columnVal === '') {
        return true;
    }
    switch (filterVal) {
        case 'Groups':
            found = columnVal.length > 0;
            break;
        case 'No Groups':
            found = columnVal.length < 1 || columnVal === '';
            break;
        default:
            found = 1;
            break;
    }

    if (found !== -1) {
        return true;
    }
    return false;
}

以下是脚本中设置yadcf的部分:

{
    column_number: 3,
    filter_container_id: "filter-group-name",
    filter_type: "custom_func",
    data: [{
        value: 'Groups',
        label: 'Groups'
    }, {
        value: 'No Groups',
        label: 'No Groups'
    }],
    filter_default_label: "Select  Groups",
    custom_func: filterGroupName

}

我在脚本中设置了一个断点,看看发生了什么,但它永远不会被触发

页面会创建正确的选择框,但选择任一选项都不会返回任何条目 - 所有内容都将在数据表中过滤掉。

那么,我在错过什么功能上工作了?

谢谢

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。

在开发过程中,我将yadcf的数据属性修改为上面的列。但是我在数据表上设置了状态存储集,因此使用了原始过滤器 - 忽略了我对新过滤器的结构和生成的代码所做的任何更改。

我删除了状态保存,过滤器恢复了生命!