数据表 YADCF 重置所有列时出错(exResetAllFilters)

Datatables YADCF error reseting all column (exResetAllFilters)

本文关键字:出错 exResetAllFilters YADCF 数据表      更新时间:2023-09-26

我正在为数据表使用 YADCF 插件,我正在使用 exResetAllFilters 重置所有列过滤器,但它不起作用。

我已经使用Jsfiddle做了一个例子。使用Firebug我可以看到错误:

类型错误: 字符串未定义

return string.replace(new RegExp(escapeRegExp(find), 'g'), replace);

我已经在 YADCF 库中更改了这个函数,并且还生成了 TableSelectorJQFriendly 以检查字符串是否为空。

function replaceAll(string, find, replace) {
    if (string) {
        return string.replace(new RegExp(escapeRegExp(find), 'g'), replace);
    }
    else {
        return string;
    }
}
function generateTableSelectorJQFriendly(tmpStr) {
    if (tmpStr) {
        tmpStr = replaceAll(tmpStr, ".", "-");
        tmpStr = replaceAll(tmpStr, ' ', '');
        return tmpStr.replace(":", "-").replace("(", "").replace(")", "").replace("#", "-");
    }
    else {
        return tmpStr
    }
}

这些更改后,我看到一个不同的错误

类型错误:table_arg.fnDraw 不是函数

table_arg.fnDraw(settingsDt);

我该如何解决它?

jsfiddle 中的问题只是一个与其包装方式相关的 jsfiddle 问题,

我已经通过使用 .click 而不是 dom onclick 解决了它(我这样做只是因为它的 jsfiddle - 在普通的 Web 应用程序中,您可以毫无问题地使用 onclick(,请参阅工作 jsfiddle,如果您有任何其他可以重现的问题,请随时询问