1
我有我用jQuery數據表構建的htnl表。我使用的代碼是:jquery datatables - 刷新不起作用
var oTable = jQuery('#webcam-table').dataTable({
"sPaginationType": "full_numbers",
"bStateSave": true,
"aaSorting": [[1,"desc"]],
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 4 ] }
]
});
此表還具有與每行一個複選框,其中用戶可以選擇一個或多個點,並觸及刪除按鈕的形式。這使用jquery ajax
:
jQuery(".deletebutton").on("click", function(e) {
e.preventDefault(); //cancel click event on start
var testchecked = jQuery(':checkbox:checked').length;
if (testchecked == 0) {
alert('Please select at least one video');
e.preventDefault();
}
else
{
if (confirm("Are you sure you want to delete the selected videos?"))
{
var checked = jQuery('input:checkbox:checked').map(function() {
return this.value;
}).get();
var $this = jQuery(this);
jQuery.ajax({
type: 'POST',
url: 'index.php?option=com_recordings&task=deletevideos&format=raw',
data: {checkedarray:checked},
success: function(data){
jQuery('#deleteform input:checkbox').each(function(){
if(this.checked){
jQuery('input:checkbox:checked').parents("tr").remove();
}
});
}
});
}
}
});
這樣做是刪除表中的一行。這是我有一個dataTable的問題,因爲它有頁面,當我刪除一個或多個它不會刷新表。
所以我想我應該能夠添加fnDraw
到代碼:
jQuery('#deleteform input:checkbox').each(function(){
if(this.checked){
jQuery('input:checkbox:checked').parents("tr").remove();
}
oTable.fnDraw();
我認爲這將刷新表我的AJAX刪除後,我已經刪除了一行之後。但是這甚至不會刪除該行,也不會相應地更新表。當然,當我手動刷新頁面時,一切都很好。關於如何刪除所選行然後刷新dataTable的任何想法?
HRM,看起來就像是最好的選擇。我想我必須循環並刪除所有已被選中的內容。更不用說添加某種索引了。 – Tom