我正在为数据表使用 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,如果您有任何其他可以重现的问题,请随时询问