很多關於這個問題,但我從來沒有找到一個爲我工作。我有一個簡單而簡單的HTML表格,它的身體正在用來自AJAX調用的行填充。 然後我想用DataTable插件更新表,但它不起作用。 我有一個HTML表格,看起來像這樣:頁面加載刷新jQuery數據表
$(document).ready(function(){
var oTable = $('#myTable').dataTable({
"aoColumns": [
{ "bSortable": false },
null, null, null, null
]
});
});
最後我在下拉列表更改功能
$("#dropdownlist").on("change", function() {
$("tbody").empty();
$.ajax({
type: "POST",
url: "@Url.Action("ActionHere", "Controller")",
dataType: "json",
success: function (data) {
$.each(data, function (key, item) {
$("tbody").append("<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td></tr>");
});
}
})
var oTable = $('#myTable').dataTable(); // Nothing happens
var oTable = $('#myTable').dataTable({ // Cannot initialize it again error
"aoColumns": [
{ "bSortable": false },
null, null, null, null
]
});
});
追加等
<table id="myTable">
<thead>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
在我的jQuery已經修改以縮短它等等,所以不要太在意它太多。
基本上問題是如何更新表,我可以做我的AJAX並添加新的數據到表中,但數據表插件不會隨之更新。 我試過其他東西,如
.fnDraw(false);
但它確實沒有什麼 雖然我從
fnReloadAjax()
就只是如何刷新表任何線索得到一個JSON錯誤?
明白了一段時間工作後,我的AJAX是有點太沉重了,並似乎有一個很多瀏覽器不兼容,但它現在工作正常。 – HenrikP
在這裏添加這一段設置:「bDeferRender」:true – user2930100
這很有效。謝謝 –