TableExport.jsスクリプトを使用してhtmlテーブルをエクスポートしています。不要な行を隠してフィルタリングした後、データをエクスポートする必要があります。 TableExportのメソッド.update()
は本当に便利ですが、onchange
イベントに関連付けられているデータがフィルタリングされるたびに呼び出すのに問題があります。ここに私のコードの関連部分です:Javascriptでオブジェクトとそのメソッドを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!
変更を( '変更'、 '.filter'、機能(){'に。オブジェクトはすでに閉じ込め**に閉じ込められていますので、そのまま使用してください –
ありがとうございました!それはうまくいっています!閉鎖をさらに深く掘り下げることができる十分に説明された情報源について知っていますか? – jabadejat
ええ: **最初の選択:D **](https://www.google.com/)、[** this **](http://stackoverflow.com/questions/111102/how-do-javascript-closures -work)と[** this **](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures)! –