У меня есть таблица HTML, в которой я заполняю данные из вызова jQuery AJAX. В этой таблице используются плагины 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 был отредактирован, чтобы сократить его. Этот jQuery отлично работает, он получает данные и добавляет их в новые строки таблицы, а также обновляет плагин datatable, чтобы заставить его работать с новыми данными.
Проблема в том, что старые данные все еще остаются, я пытаюсь очистить их различными вещами вроде
$("#tbodyID tr").detach();
$("#tbodyID tr").remove();
$("#tbodyID").empty();
$("#tbodyID").html("");
$("tbody").empty();
$("tbody").html("");
$('#table').dataTable().fnDraw(false)
Я поставил их перед вызовом AJAX. Но никто не работает, старые данные по-прежнему остаются и каждый раз, когда я вызываю вызов AJAX, он по-прежнему заполняет его новыми данными, а старый остается.
Есть ли способ очистить тело с помощью jQuery или встроенной функции datatables?