Я пытаюсь реализовать веб-приложение с помощью Basic и Advanced Search, и я использую datatable 1.10 и jquery 2.2 для отображения результатов поиска. У меня возникли проблемы с методом destroy, и я надеюсь, что некоторые из вас смогут помочь мне найти решение, заранее заблаговременно всем за вашу помощьФункция datatable destroy не работает должным образом
Позвольте мне немного пояснить мой проект, логическая логика, цель и проблема:
У меня есть одна таблица с 5 столбцами, как вы можете видеть на моем jsfiddle. У меня также есть глобальная переменная «table» для обработки данных (DT) после ее создания. Я объявила функцию loadSearchData для загрузки параметров для вызова Ajax другой глобальной переменной. В событии клика двух кнопок поиска я проверяю, существует ли DT, и я его уничтожаю, а затем вызываю функцию initializeDataTable. Моя идея состояла в том, чтобы уничтожить существующий DT и создать новый каждый раз, когда нажаты кнопки «Поиск». Однако это не работает, и поведение «странно»:
Первый раз, когда я вводите критерии поиска и нажимаю поиск, отлично работает Если я модифицирую критерии поиска и снова нажимаю поиск, то получаю ошибку веб-страницы
«линия: 1 Ошибка: Невозможно получить свойство„стиль“неопределенной или нулевой ссылки»
тогда, если не отлаживать и нажмите кнопку поиска снова, то он отлично работает снова!
Код:
//BASIC SEARCH
$('#btnBasicSearch').on('click', function() {
$("#partialSearch").removeAttr("hidden");
loadSearchData('basicSearch');
if ($.fn.DataTable.isDataTable('#tbDocumentsList')) {
table.destroy();
}
initializeDataTable(searchParameters);
});
//ADVANCED SEARCH
$("#btnSearch").on('click', function() {
$("#partialSearch").removeAttr("hidden");
loadSearchData('advancedSearch');
jQuery.ajaxSettings.traditional = true;
if ($.fn.DataTable.isDataTable('#tbDocumentsList')) {
table.destroy();
}
initializeDataTable(searchParameters);
});
Я уверен, что есть лучший способ сделать это, это мой первый раз, используя DataTables и, возможно, я что-то не хватает, кто-нибудь есть идеи?
Вы можете увидеть полный jsfiddle здесь
https://jsfiddle.net/dalps/gxgLdo03/
Я также спросил на DataTable форуме:
заранее спасибо
dalps