2016-11-16 9 views
1

私はレコードを生成し、各行には削除ボタンがあります。そして、削除ボタンをクリックすると、データベースからレコードが削除されます。また、削除後、dataTableをリロードします。このためのヘルプ?レコード/データを削除した後にdataTableをリロードする方法は?

のDataTable:

var table = $('#table').DataTable({ 

    "processing": true, 

    //some settings? 
}); 

のjQuery:

$(document).on('click', '[id^="delete-product-"]', function() { 

    var id = this.id.split('-').pop(); 

    $.ajax({ 
     type: 'post', 
     url: 'my_controller/delete_product', 
     dataType: 'json', 
     data: {id: id}, 
     success: function(callback) 
     { 
      //What should I code here, that can't reload entire page, only the table 
      //after deleting records 
     }, 
     error: function(status) 
     { 
      console.log(status); 
     } 
    }); 
}); 

任意の助けいただければ幸いです。進んでいただきありがとうございます

答えて

5

テーブルのデータ全体を再読み込みする必要はありません。削除した行を削除するだけです。

$(document).on('click', '[id^="delete-product-"]', function() { 
    var $button = $(this); 
    var id = this.id.split('-').pop(); 

    $.ajax({ 
     type: 'post', 
     url: 'my_controller/delete_product', 
     dataType: 'json', 
     data: {id: id}, 
     success: function(callback) 
     { 
      table.row($button.parents('tr')).remove().draw(); 
     }, 
     error: function(status) 
     { 
      console.log(status); 
     } 
    }); 
}); 
+0

グレート。それは今働いています、ありがとうございました。多くのBro、 –

+0

EDITについての質問に続きますか?ページ全体をリロードする必要がありますか?または私にいくつか考えを与えることができますか? –

+0

@MarkyOnyab素晴らしい。あなたが私の答えを受け入れることを感謝します。編集については、それは削除より多くのことです。単純な入力ボックスは、各テーブルセルをテキストボックスに置き換えてから、更新が完了した後にテキストボックスに戻して置き換えることによって実行できます。日付ピッカー、ドロップダウン、テーブルに表示しない方がよいリッチテキストフィールドなどの複雑な入力タイプの場合は、編集のために別のページが必要です。将来的に詳細な編集が必要な場合は、別のページをお勧めします。しかし、複数のレコードを編集するようなスピードが必要だが、小さな変更が必要な場合は、テーブルでそれを行う必要があります。 – Ergec

関連する問題