Yadcf custom_func无法通过单选按钮识别列值。

时间:2016-03-04 00:01:54

标签: jquery datatables-1.10 yadcf

我正在尝试将Yadcf与DataTables 1.10+一起使用。我的情况是我的数据表中的每一行都有一个带有4个单选按钮的列。我希望能够使用Yadcf过滤该数据。如果不使用自定义功能,我无法找到任何方法。

yadcf.init(oTable, [
       // { column_number: 0 },
       // { column_number: 1 },
        {
            column_number: 2,
            filter_type: "text"
        },
        {
            column_number: 3,
            filter_type: "text"
        },
       // { column_number: 4 },
        {
            column_number: 5,
            filter_type: 'custom_func',
            custom_func: statusFilter,
            data: JSON.parse(jsonStatus)

您可以在第5列看到我调用名为statusfilter的自定义函数

function statusFilter(filterVal, columnVal) {
    var found;

    if (columnVal === '') {
        alert('here');
        return true;
    }
}

正确传递filterVal,但是columnVal为空,因此抛出警报并返回。

我试着仔细查看代码并看到yadcf看到第5列的aData为空。我不知道为什么。

有没有人有任何想法如何让我的工作。

谢谢,

1 个答案:

答案 0 :(得分:0)

我已将0.9.0.beta.11的增强功能添加到custom_func - 第4个参数 - 它保存了表格行的html DOM。见jsbin sample并检查我是如何使用它的。

function myCustomFilterFunction(filterVal, columnVal, rowVal, stateVal) {
    if (columnVal === '') {
        return true;
    }

    if ($(stateVal[0]).filter(':checked').val() === filterVal) {
        return true;
    }
    return false;
}

问题是你必须找到一种方法来更新你的鼠标readio按钮选择你的DOM,所以过滤器将看到检查的新值 - 让我知道你最终是如何做到的 - 也许使用jquery或更新数据表模型