2017-08-16 44 views
1

我DataTable的庫()在我的原型網站的某些部分,但沒有Ajax功能沒有Ajax如何使表從AJAX成功的DataTable()

<table id = 'mytable'> 
    //some content 
</table> 

決策表中的數據表$('#mytable').dataTable();這方法的工作並取得了表的DataTable

下面是我如何將其運用在用ajax

$.ajax({ 
     url:"user.php", 
     method:"POST", 
     data:{id,id}, 
     success:function(data) { 
      $(data).find('#usertable').dataTable(); 
      $('#myDiv').html(data); 
      } 
}); 

sample.php

$output .= ' 
     <table id = "usertable"> 
       //some content 
     </table>'; 

echo $output; 

我怎樣才能使阿賈克斯成功響應的DataTable?

+1

您可以閱讀[文檔](https://datatables.net/examples/data_sources/server_side.html)做你想做的事,另一種方式......它會比你有什麼更好的試圖做我的想法。 –

回答

1

您需要先將html添加到dom,然後創建數據表。你正在以另一種方式來做這件事。當你創建數據表時,html在你的dom中不可用,並且不會創建數據表。

$.ajax({ 
    url: "user.php", 
    method: "POST", 
    data: {id: id}, 
    success: function(data) { 
     $('#myDiv').html(data);  // Add html to the dom 
     $('#myDiv table').dataTable(); // Create the datatable 
    } 
}); 
+0

謝謝你的幫助,但這種方法不起作用,我試了幾次使用你的方法仍然沒有把它變成可數據表 –

+0

你的瀏覽器的控制檯有什麼錯誤嗎? – Jerodev

+0

'Uncaught TypeError:無法在N(jquery.dataTables.min.js:16) (位於HTMLTableRowElement)的Ja(jquery.dataTables.min.js:24) 處將未定義的 屬性'_DT_CellIndex' (jquery.dataTables.min.js:16) at jquery-1.12.4.js:142 at Function.map(jquery-1.12.4.js:484) at jQuery.fn.init.map(jquery (jquery.dataTables.min.js:16) at e(jquery.dataTables.min.js:92) at HTMLTableElement。 (jquery.dataTables.min.js:93) at Function.each(jquery-1.12.4.js:370)' –