我有一个HTML表格,我使用从AJAX jQuery调用获取的数据填充该表格。这个表格使用了jQuery插件-datatables来进行分页、排序等操作。
这个jQuery调用是在下拉列表改变事件中被调用的。
$("#Dropdownlist").on("change", function () {
$.ajax({
type: "POST",
url: "@Url.Action("Action", "Controller")",
//contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$.each(data, function (key, item) {
$("tbody").append("<tr><td>appending data here</td></tr>");
});
$('#table').dataTable().fnDestroy();
$('#table').dataTable({
"aoColumns": [
{ "bSortable": false },
null, null, null, null, null
]
});
}
})
});
这段 jQuery 代码已经被编辑过以缩短长度。它可以很好地工作,获取数据并将其添加到新的表行中,同时更新 datatable 插件以便与新数据一起使用。
问题在于旧数据仍然存在,我一直在尝试使用各种方法来清理它,比如
$("#tbodyID tr").detach();
$("#tbodyID tr").remove();
$("#tbodyID").empty();
$("#tbodyID").html("");
$("tbody").empty();
$("tbody").html("");
$('#table').dataTable().fnDraw(false)
在 AJAX 调用之前,我放置了这些代码。但是没有任何作用,旧数据仍然存在,并且每次调用 AJAX 调用时,它都会用新数据重新填充,而旧数据仍然存在。
是否有一种方法可以使用 jQuery 或内置的 datatables 函数清除 tbody 中的数据?