私はjqueryデータテーブルを使用していて、いくつかの<tr>
次の構造を持つテーブル内:
<tr class="odd">
<td class=" sorting_1">0</td>
<td class=" ">2011</td>
<td class=" ">20</td>
<td class=" ">
<span class="btn-group">
<a class="del btn btn-small" href="#"><i class="icon-delete"></i></a>
</span>
</td>
</tr>
クリックしたボタンに関連付けられている行を削除するために、次のjqueryコードを記述しました。
$(".del").bind("click", function(event){
var target_row = $(this).parent().parent().parent();
var aPos = oTable.fnGetPosition(target_row); // the error occurs here!
oTable.fnDeleteRow(aPos);
});
しかし、私はこのようなエラーを取得します:
"TypeError: a.nodeName is undefined"
jquery minスクリプトファイル内。
編集:
ここにデータテーブルを作成するためのコード:
if( $.fn.dataTable ) {
$(".mws-datatable").dataTable();
var oTable = $(".mws-datatable-fn").dataTable({
bRetrieve: true,
sPaginationType: "full_numbers"
});
}
私はこのコードを使用して問題を解決しました:
$(".del").bind( "click", function(event) {
var target_row = $(this).closest("tr").get(0); // this line did the trick
var aPos = oTable.fnGetPosition(target_row);
oTable.fnDeleteRow(aPos);
});
$().ready(function () {
$('body').on('click', '#deletebtn', function () {
$("#example1 tr").each(function () {
var rowSelector = $(this);
if (rowSelector.find("input[type='checkbox']").prop('checked')) {
rowSelector.remove();
}
});
});
});