2017-01-18 40 views
2

我有一個頁面test.php其中我使用jQuery DataTables獲取數據。在同一頁面中有一個「添加註釋」按鈕,可在colorbox內打開ajax窗體。表單提交工作正常,但我想在數據庫中插入記錄時刷新DataTable。在表單提交後重新載入數據表colorbox

數據表:

$(document).ready(function() { 
    $('#example').DataTable(); 
}); 

阿賈克斯形式:注意顏色框彈出裏面這種形式的負載

if (error == false) { 
    $.post("submit.php", $("#add_note").serialize(), function (result) { 
     if (result == 'success') { 
      $('#error_msg').remove(); 
      $('#success_msg').fadeIn(500); 
      // want to reload DataTables here 
     } else { 
      $('#error_msg').fadeIn(500); 
     } 
    }); 
} 

我的解決方案:我嘗試不同的方法和下面的方法刷新頁面內容,但只是第一次。如果我想在不刷新頁面的情況下第二次提交表單,則Ajax表單停止工作。

$(".content-wrapper").load('test.php'); 

回答

0

如果通過加載數據表的ajax option(我建議你對這種特殊情況下),則可以使用API重新加載其數據。

首先,保持數據表的實例在一個全局變量,然後使用這些變量調用API:

var table; 
$(document).ready(function() { 
    table = $('#example').DataTable(); 
}); 

if (error == false) { 
    $.post("submit.php", $("#add_note").serialize(), function (result) { 
     if (result == 'success') { 
      $('#error_msg').remove(); 
      $('#success_msg').fadeIn(500); 
      table.ajax.reload(); 
     } else { 
      $('#error_msg').fadeIn(500); 
     } 
    }); 
} 

希望它能幫助!

+0

那麼我是基本的初始化,但也會檢查與ajax選項。有沒有什麼方法可以重新加載'div',我嘗試了上面的方法,但它不起作用。 – Arif

+0

如果您在數據表中使用ajax方法,則不需要重新加載div,Datatables將自動處理數據重新加載(很酷,是吧?) – Sebastianb

相關問題