有很多关于这个问题的提问,但我从未找到适合我的答案。我有一个简单明了的HTML表格,其body正在通过AJAX调用填充行。 然后我想使用DataTable插件更新表格,但它不起作用。 我有一个长这样的HTML表格:
<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页面加载中
$(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
]
});
});
这里的“追加”等操作已经被修改,简化了流程,所以不要过于关注。基本问题是如何更新表格,我可以通过AJAX添加新数据到表格中,但datatable插件不能实时更新。我尝试了其他方法,比如:
.fnDraw(false);
但它没有起作用。当我使用
fnReloadAjax()
时,会出现JSON错误。有什么提示可以刷新表格吗?