Я добавил DataTables в таблицу, я получаю данные через AJAX, используя PHP и SQL. При первой загрузке после выполнения первого поиска все в порядке, и все работает по назначению. Однако при поиске во второй раз, когда весь код, используемый для поиска, снова запущен, функциональность DataTable, похоже, перестает работать.JQuery AJAX DataTable Не загружает стандартные функции после перезагрузки данных
Я добавил некоторые предупреждения в важные части файла DataTable и нашел после первого поиска, он никогда не возвращает его в файл.
Возможно, мне нужно «переинициализировать» DataTable, увидев, что после завершения поиска все содержимое данных изменилось.
Провел долгое время, глядя в интернет, с множеством предложений вокруг Destroy и Clear и т. Д. Но ничего не работает.
Вот мой код, как вы можете видеть, у меня есть это набор, чтобы сделать что-то другое после первого поиска, но не уверен, как это исправить, как сортировка, пагинацией, поиск и т.д. все не работают:
$.ajax({
type:'POST',
url:'/ITSMIS/data/asset/search.php',
data:HardwareAsset,
dataType: "html",
success:function(data){
LoadDataTableHeaders();
var NotSearched = document.getElementById("no-search-default");
var TableContainer = document.getElementById("data-table-container");
var NoSearchResults = document.getElementById("no-search-results");
if(NotSearched.style.display !== 'none'){
$(NotSearched).hide();
}
if(data){
if(TableContainer.style.display == 'none'){
$(TableContainer).show();
}
$(NoSearchResults).hide();
$('#data-table-results').html(data);
$("input:checkbox:not(:checked)").each(function() {
var DataTableColumn = "table ." + $(this).attr("name");
$(DataTableColumn).remove();
});
if (! $.fn.DataTable.isDataTable('#data-table')) {
$('#data-table').DataTable();
}
else{
}
}
else{
if(NoSearchResults.style.display == 'none'){
$(TableContainer).hide();
$(NoSearchResults).show();
}
}
}
})
Если вы собираетесь сбросить данные в необработанную таблицу html, вам необходимо будет аннулировать и перерисовать все строки. DataTable не знает, что вы меняете базовый html – Bindrid
, который вы всегда можете уничтожить и перестроить всю таблицу. – Bindrid