2017-11-03 8 views
0

jQuery datatableと私は状態保存でtrueを設定しています:ページあたり10レコードのページングを持つtrueです。私は31レコードあるので、4ページ目には1レコードしかありません。ページから最後のレコードを削除した後、jqueryデータテーブルがリセットされない

このレコードを削除すると、ページにレコードが見つかりません。理想的には、前のページまたは最初のページに移動する必要があります。

これを修正してください。以下

は私がレコードを削除するには、この上記の関数を呼び出すために使用され

academic_master.deleteMaster = function (currentClick) 
     { 
      var id = currentClick.attr('data-id'); 
      var delete_id = currentClick.attr('delete-id'); 
      var action = currentClick.attr('action'); 

      var data = 'id=' + id + '&delete_id=' + delete_id + '&action=' + action; 
      $.ajax({ 
       type: 'POST', 
       url: DELETE_URL, 
       data: data, 
       datatype: 'json', 
       async: false, 
       success: function (response) { 
        if (response != '-1' && response != '-20') 
        { 
         dataTable.ajax.reload(null, false); 
} 
}); 
} 

を削除するためのコード

dataTable = $('.tab-pane.active').find('#' + table).DataTable({ 
       "lengthMenu": [[10, 25, 50, 100, 250, 500, '-1'], [10, 25, 50, 100, 250, 500, 'All']], 
       "processing": true, 
       "serverSide": true, 
       "responsive": true, 
       "scrollX": true, 
       "autoWidth": false, 
       "stateSave": true, 
       "stateSaveParams": function (settings, data) { 
        data.search.search = ""; 
       }, 
       "aoColumnDefs": [ 
        {'bSortable': false, 'aTargets': [-2, -1]} 
       ], 
       "initComplete": function () { 
        $('.overlay').fadeOut(); 
       }, 
       "ajax": { 
        url: MY_URL, 
        type: "POST", // method , by default get 
        data: postObj 
       } 
      }).on('preXhr.dt', function (e, settings, data) { 
       if (settings.jqXHR) 
        settings.jqXHR.abort(); 
      }); 

と行動で、成功したことは、同じページ上ではなく、テーブルを再ロードそのページにレコードがない場合

+0

どのようにテーブルの行を削除するに従っている場合は、機能性/使い勝手を向上することができるだろうか?別の機能を使用していますか? – Harshakj89

+0

こんにちは、私はコードを更新しました –

答えて

0

ドキュメントごとに、ページ設定はあなたのアプローチではリセットされません。

// user paging is not reset on reload 
dataTable.ajax.reload(null, false); 

以下の行を使用すると、改ページがリセットされます。しかし、それは前のページに移動しません。

dataTable.ajax.reload(); 

提案:あなたはこのアプローチ https://datatables.net/examples/api/select_single_row.html

+0

ありがとう、それは働いた! リロード機能からパラメータを削除しました。 –