Yadcf custom_func 无法使用单选按钮识别列值。



我正在尝试将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 列中看到我调用了一个名为状态过滤器的自定义函数

function statusFilter(filterVal, columnVal) {
    var found;
    if (columnVal === '') {
        alert('here');
        return true;
    }
}

它正确传递了过滤器Val,但列Val为空,因此抛出我的警报并返回。

我试图稍微浏览一下代码,看到 yadcf 看到第 5 列的 aData 为空。我不知道为什么。

有没有人知道我如何做到这一点。

谢谢

我已经在 0.9.0.beta.11 中添加了增强功能,以custom_func - 第 4 个参数 - 它保存表格行的 html DOM。 请参阅 JSBin 示例并检查我如何使用它。

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

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

最新更新