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

Datatables YADCF error reseting all column (exResetAllFilters)

我正在使用 YADCF plugin for datatables 并且正在使用 exResetAllFilters 来重置所有列过滤器,但它不起作用。

我已经使用 Jsfiddle 完成了 example。 使用 Firebug 我可以看到错误:

TypeError: string is undefined

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

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

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
    }
}

进行这些更改后,我看到了不同的错误

TypeError: table_arg.fnDraw is not a function

table_arg.fnDraw(settingsDt);

我该如何解决?

jsfiddle 中的问题只是一个与其 wrapping way,

相关的 jsfiddle 问题

我已经通过使用 .click 而不是 dom onclick 解决了它(我这样做只是因为它的 jsfiddle - 在普通的网络应用程序中你可以使用 onclick 没有任何问题),see working jsfiddle,如果您有任何其他可以重现的问题,请随时询问