Я использую DataTables JQuery плагин для отображения таблицы HTML и я сделал функцию удаления AJAX
строки, которая отправляет запрос на удаление POST
в фоновом режиме и отображает возвращенное HTML
сообщения в #info
div и удаляет соответствующий номер HTML
из DOM
с использованием функции jQuery remove()
.Удаляется DataTable строки добавляется снова после сортировки
Вот функция, которая вызывается, как deleteData($id)
от удаления кнопки в строке и:
function deleteData(id)
{
var data = "id="+id;
$.ajax(
{
type: "POST",
url: "delete.php",
data: data
}
).done
(
function(data)
{
$('#info').html(data);
var setID = id;
$('#row' + setID).remove();
}
);
}
Все работает хорошо до сих пор, строка удаляется и отображается ответное сообщение, однако, когда я нажимаю заголовок снова сортируйте строки (по возрастанию или по убыванию), удаленная строка снова появляется (в текущем сеансе, а не после перезагрузки страницы), и она по-прежнему доступна для поиска, я хочу это исправить.
Из того, что я прочитал, проблема заключается в том, что DataTables загружает таблицу только один раз, но есть способ загрузить ее из DOM
в каждом виде. Я пробовал много разных способов сделать это, но он не работает.
А что происходит на serveride, в 'delete.php'? – adeneo
Он просто получает $ id и удаляет его из базы данных, а echo «Row deleted», который отображается в div #info. –