JQuery DataTable刪除行後的頁面更新利用Ajax解決

NO IMAGE

使用Jquery的DataTable進行資料表處理非常方便,常遇到的一個問題就是刪除一行後頁面必須進行更新,需要注意的方法如下:前臺頁面中初始化table時注意:
複製程式碼 程式碼如下:
var table = $(‘#sorting-advanced’);
table.dataTable({
‘bServerSide’: true,
‘sAjaxSource’: ‘servlet/UserList<%=queryString%>’,
‘bProcessing’: true, ‘bStateSave’: true,
‘aoColumnDefs’: [
{ ‘bSortable’: false, ‘aTargets’: [0,1,6]}
],
‘sPaginationType’: ‘full_numbers’,
‘sDom’: ‘<“dataTables_header”lfr>t<“dataTables_footer”ip>’,
‘fnInitComplete’: function( oSettings )
{
// Style length select
table.closest(‘.dataTables_wrapper’).find(‘.dataTables_length select’).addClass(‘select blue-gradient glossy’).styleSelect();
tableStyled = true;
}
});

‘bStateSave’: true, 這個必須設定,這樣就可以在刪除返回時,保留在同一頁上’bStateSave’: true, 這個必須設定,這樣就可以在刪除返回時,保留在同一頁上
刪除的程式碼如下
複製程式碼 程式碼如下:
function deleteConfirm(deleteID)
{
$.modal.confirm(‘確實要刪除此使用者嗎?’, function()
{
$.ajax(‘servlet/DeleteUser’, {
dataType : ‘json’,
data: {
userID: deleteID
},
success: function(data)
{
if (data.success ==’true’)
{
$.modal.alert(‘刪除成功!’);
start = $(“#sorting-advanced”).dataTable().fnSettings()._iDisplayStart;
total = $(“#sorting-advanced”).dataTable().fnSettings().fnRecordsDisplay();
window.location.reload();
if((total-start)==1){
if (start > 0) {
$(“#sorting-advanced”).dataTable().fnPageChange( ‘previous’, true );
}
}
}
else
{
$.modal.alert(‘刪除發生錯誤,請聯絡管理員!’);
}
},
error: function()
{
$.modal.alert(‘伺服器無響應,請聯絡管理員!’);
}
});

}, function()
{
//$.modal.alert(‘Meh.’);
});
};

其中只要是需要判斷一下當前頁中是否有資料,如果是最後一條的話,就在刪除後呼叫
$(“#sorting-advanced”).dataTable().fnPageChange( ‘previous’, true );已回到上一頁中
注意$(“#sorting-advanced”).dataTable().fnPageChange( ‘previous’); 是不行的,必需進行重新整理,否則頁面中顯示的iDisplayStart會從cookie中取得,還是刪除前的iDisplayStart

您可能感興趣的文章:

Jquery ajax請求匯出Excel表格的實現程式碼JQuery Ajax動態生成Table表格jquery通過AJAX從後臺獲取資訊並顯示在表格上的實現類bootstrap jquery dataTable 非同步ajax重新整理表格資料的實現方法用Jquery實現可編輯表格並用AJAX提交到伺服器修改資料JQuery通過AJAX從後臺獲取資訊顯示在表格上並支援行選中jQuery Ajax實現表格資料不同列標題排序(為表格注入活力)jQuery DataTables外掛自定義Ajax分頁例項解析jQuery ajax動態生成table功能示例jQuery ajax實現動態新增表格tr td功能示例