我正在使用TableExport.js脚本导出html表,并且需要通过隐藏不需要的行对数据进行过滤后再导出数据。 TableExport的方法.update()
在这里真的很有用,但是每次过滤与onchange
事件相关的数据时,我都会遇到一些问题。这是我的代码的相关部分:
$(function () {
var exportedTable = $("#taskListTable").tableExport();
exportedTable.update({
// some options
});
$('body').on('change', '.filter', function (exportedTable) {
// some code for filtering
tableUpdate(exportedTable);
});
})
function tableUpdate(table) {
table.update({
ignoreCSS: ["tr.tableexport-ignore", "tr.tableexport-ignore>td",
"tr.tableexport-ignore>th", "tr.hidden", "tr.hidden>td"]
});
}
我不断收到类型为
Uncaught TypeError: Cannot read property 'update' of undefined
的错误。我一直在阅读许多线程(例如:Javascript passing object to function)和其他信息,以了解按值传递和引用传递之间的区别,但是阅读和尝试的次数越多,我的头脑就会变得越混乱。那么,谁能看到我的方法失败了吗? -虽然这部分是遗留代码,但如有必要,我愿意重新构建大部分代码。我想这更多是JS滥用的问题,所以我希望这个问题对使用TableExport的人和有类似JS问题的人都有用。所以我召唤你,JavaScript Jedis!
最佳答案
使用事件对象作为参数调用事件处理函数。您可能只想从作用域访问exportedTable
,而不是接受它作为参数。