テーブルの各行に、AJAX を使用して json 配列を取得し、データをロードする削除ボタンがあります。.on() クリック イベントは、ページのフッターにある fnDrawkCallback の外にありました。コールバックに入れるとこれが修正されると思いましたが、修正されていません。
テーブルが最初の初期化からロードされるたびに、行の追加または削除による再描画まで、任意の行の削除ボタンをクリックすると、一番上の最初の行のみが削除されます。クリック時のイベントがその行の削除ボタンにバインドされているのはなぜですか?
削除ボタンには .remImg クラスがあり、ボタンは json 配列からキー値としてテーブルにロードされます。
ありがとう
var oTable = $('#sss').dataTable({
"oLanguage": {
"sEmptyTable": "No data"
},
"bProcessing": true,
"bServerSide": true,
//"aaData": testdata,
"sAjaxSource": 'http://example.com/sss.php',
"aoColumns": [
{ "mDataProp": "date" },
{ "mDataProp": "action_buttons","bSortable": false }
],
"fnDrawCallback": function( oSettings ) {
$(document).on("click", ".remImage", function(e) {
jQuery.ajax({
type: 'post',
url: 'http://example.com/sss.php',
data: {
action: 'delete_post',
att_ID: jQuery('#att_remove').val(),
_ajax_nonce: jQuery('#nonce').val(),
post_type: 'sss'
},
success: function( html ) {
alert( html );
$('#sss').dataTable().fnReloadAjax();
}
});
return false;
});
}
});