2012-07-09 15 views
1

我正在一個項目中工作,我想在要顯示的數據中添加柵格類型工具。jquery中的數據表

爲此,我正在使用Datatable插件的jquery

它工作的很好,很完美。

我只有一個擔心,每當我嘗試從服務器(通過Ajax)更新表時,Datatable會丟失其功能。我的意思是,每當我從服務器加載新表時,它都顯示爲正常模式。

對於工作,我必須像添加代碼,這片:

$.ajax({ 
    url: "<GIVE_ME_NEW_TABLE>", 
    type: "POST", 
    data: <THE_DATA_TO_BE_POSTED>, 
    success: function(data){ 
     //data is fully prepared HTML string for representing the table 
     $('#id_of_the_div_where_to_show_the_table').html(data); 
     $('#id_of_the_table').dataTable({ 
      "bJQueryUI": true 
     }); 
    }, 
    error : function(){ 
     //alert error 
    } 
}); 

所以這是每個Ajax調用所在的表被更新到被調用。

+0

不知道爲什麼這不起作用;你填充一個新的完全格式化的表格,然後你調用'dataTable()'。似乎它應該工作。但是,這是次優。您應該做的是使用DataTables的內置Ajax功能來僅提取數據。 – 2012-07-09 05:41:40

回答

7

或者,您可以通過sAjaxSource param將DataTables連接到ajax數據源。您需要修改服務器端腳本才能返回正確的響應。請參閱ajax arraysajax objects來自DataTables doc的示例。

$(document).ready(function() { 
    var oTable = $('#example').dataTable({ 
     "bProcessing": true, 
     "sAjaxSource": "/yoursite/ajaxTableDataSource", 
    }); 
});