У меня есть dataTable, который отображает данные из базы данных. Он отображается в модальном формате bootstrap, и в каждой строке есть возможность удалить строку.
Вот jquery, который получает данные из базы данных:
function cart_contents() {
$.ajax({
url: "cartContents.php",
type: "POST",
dataType: "JSON",
success: function(data){
var table = $('#cart-content').dataTable();
table.fnDestroy();
table.dataTable({
"aaData": data,
"scrollX": false,
"lengthChange": false,
"ordering": false,
"pageLength": 6,
"language": {
"info": "Number of items: _TOTAL_"
},
"searching": false,
"aoColumns": [
{"sTitle": "Product", "mData": "product"},
{"sTitle": "Price", "mData": "price"},
{"sTitle": "Qty.", "mData": "quantity"},
{
"sTitle": "Edit", "mData": "id", "render": function (mData, type, row, meta) {
return '<button class="btn btn-xs btn-success" onclick="sample(' + mData + ')">Edit</button>';
}
},
{
"mData": "id", "render": function (mData, type, row, meta){
return "<span style='cursor: pointer' class='close' onclick='remove_product(this," + mData + ")'>x</span>";
}
}
]
})
}
}
Вот описание remove_product:
function remove_product(these, id){
var i = these.parentNode.parentNode.rowIndex;
document.getElementById("cart-content").deleteRow(i);
$.ajax({
type: "POST",
url: "remove_product.php",
data: {product_id: id},
success: function(data){
alert(data);
}
})
}
Теперь данные могут превышать или не превышать одну страницу таблицы, поскольку она настроена на отображение 6 строк. Поэтому есть вероятность, что может быть нумерация страниц. При каждом нажатии «x» для удаления строки он удаляет ее на странице и успешно удаляет ее в базе данных.
Однако, когда я прокручиваю на следующую страницу таблицы и go назад ранее строка, которая была удалена, возвращается. Как мне go удалить его навсегда, так как он больше не существует в базе данных? Мне нужно сделать это без перезагрузки модального.