私はjQuery Datatablesを使用しており、1つのテーブルを持つページでは次のコードが正常に機能しますが、1つのページではタブを使用しており、それぞれにデータテーブルがあります。彼らのデザインは
var oTable = $('.dataTable').dataTable({....})
私が抱えている問題は、最初のテーブル以外のテーブルの行を削除しようとしたときです。class = delete のリンクとしての各行なので、このようなJavaScriptがあります
$('.delete').click(function(e) {
e.preventDefault();
row = $(this).closest("tr").get(0);
oTable.fnDeleteRow(oTable.fnGetPosition(row));
});
たとえば、2 番目のテーブルから行を削除しようとすると、row = 2 のようなものが取得され、最初のテーブルの対応する行が削除されます。
正確な oTable を識別する方法を考えるのに苦労しています。各データテーブルに数値 ID を割り当て、クリック関数で取得して、このように oTable の ID を取得しようとしました
<table class="table dataTable repsonsive" id="4">
$('.delete').click(function(e) {
e.preventDefault();
table = $(this).closest("table").attr('id');
row = $(this).closest("tr").get(0);
oTable[table].fnDeleteRow(oTable[table].fnGetPosition(row));
});
oTable はコレクションのようには機能しないと思います。助言がありますか?