DataTables に奇妙な問題があります。私はこのようなものを使用して行を削除していますが、すべてが機能しています(行はDBから削除され、アラートは適切に表示されます)、表示から行が削除されますが、前のページをクリックして行が最初に表示されたページに戻ると(ページごと) DataTableのページ番号を意味するか、ページごとの行数を増やします)-再び表示されます...(実際には削除されていないため)
ハードリフレッシュ後にのみ削除されます。なぜこれが起こっているのですか?実際にブラウザを更新せずに実際に削除する方法は?
行を削除するために使用しているコードは次のとおりです。
function DeletePublisher(element, publisherid) {
jConfirm('Are you sure you want to delete this publisher?', 'Delete publisher', function (r) {
if (r) $.post('includes/publishers/delete-publisher.php?publisherid=' + publisherid,
function (data) {
if ($.trim(data) == 'error') {
$.jGrowl('This publisher was already deleted', {
header: '<strong style="text-align:center;">ERROR</strong>'
});
$(element)
.parents('tr')
.remove();
} else {
$(element)
.parents('tr')
.remove();
oTable.fnDeleteRow(element);
$('tr')
.removeClass();
// Now add class names again
$('tr:odd')
.addClass('odd');
$('tr:even')
.addClass('even');
$.jGrowl('Publisher deleted');
}
});
});
そして、これは TR 要素です:
<td class="action-th">
<ul class="button-table-head">
<li><div class="button-head edit-icon"><a href="/includes/publishers/edit-publisher.php?editpublisher=<?php echo $publisher_id; ?>" data-fancybox-type="iframe" class="iframe sweet-tooltip" data-text-tooltip="Edit" data-style-tooltip="tooltip-mini-slick"><span>Edit</span></a></div></li>
<li><div class="button-head delete-icon"><a href="#" class="sweet-tooltip" data-text-tooltip="Delete" data-style-tooltip="tooltip-mini-slick" onclick="DeletePublisher(this,'<?php echo $publisher_id; ?>')"><span>Delete</span></a></div></li>
</ul>
</td>
要素が最初に行の正しい ID を渡しているかどうかわかりませんか?