У меня есть этот блок кода, который корректно работает для удаления строки из таблицы, когда я щелкаю по выбранному <td>
var table = $('#students-table').DataTable();
$('#students-table tbody').on('click', 'i.icon-delete', function () {
table.row($(this).parents('tr')).remove().draw();
});
, но когда я встраиваю эту строку в $ .post.done, он нене работает вообще:
var table = $('#students-table').DataTable();
$('#students-table tbody').on('click', 'i.icon-delete', function () {
var student_id = $(this).attr('student_id');
$.post("backend.php", {"action": "deleteStudent", "student_id": student_id}).done(function (response) {
response = JSON.parse(response);
if (response.deleted == "1") {
console.log("A");
table.row($(this).parents('tr')).remove().draw();
console.log("B");
}
}); // post
});
однако условие response.deleted == "1"
оценивается как True
, console.log("A");
и console.log("B");
также работает правильно.
Так почему строка удаления строки не работаетработать, когда он находится внутри функции done()
$.post
Обратите внимание, что вопрос не в процессе удаления.