我有一段代碼可以洗掉記錄并重新加載資料表。我想為此動作設定影片,以便在單擊按鈕時 dataTable 的記錄淡出,然后從資料庫中洗掉。這是我的代碼:
$(document).on('click', '.delete', function() {
var _id = $(this).attr("id");
data._id = $(this).attr("id");
data.operation = "deleteorderdetail";
// alert(data.operation);
if (confirm("Are you sure?")) {
$.ajax({
url: 'delete.php',
method: 'POST',
data,
success: function(data) {
$(this).parentsUntil("tr").hide(1000); -----> not work !
dataTable.ajax.reload();
}
});
} else {
return false;
}
此致....
uj5u.com熱心網友回復:
對于資料表試試這可能會幫助你嘗試這樣
var row = $(this).closest('tr');
row.fadeOut(400, function () {
dataTable.row(row).remove().draw(false);
});
$(document).on('click', '.delete', function() {
var _id = $(this).attr("id");
data._id = $(this).attr("id");
data.operation = "deleteorderdetail";
// alert(data.operation);
if (confirm("Are you sure?")) {
$.ajax({
url: 'delete.php',
method: 'POST',
data,
success: function(data) {
var row = $(this).closest('tr');
row.fadeOut(400, function () {
dataTable.row(row).remove().draw(false);
});
}
});
} else {
return false;
}
uj5u.com熱心網友回復:
您可以對方法進行以下更改:
- 將點擊的專案捕獲到它自己的變數中:
var clickedItem = $(this);
當您選擇要隱藏的行時,使用此單擊的專案。
而不是使用
parentsUntil,使用closest。UsingparentsUntil將從您單擊的物件中選擇每個祖先,直到但不包括所選元素(<tr>在您的情況下)。我假設您想要的是隱藏整行。
執行步驟1的原因:如果你嘗試使用$(this).closest("tr").hide(1000);,那么$(this)會參考所在的jQuery Ajax物件$(this)。
最終結果:
$(document).on('click', '.delete', function() {
var clickedItem = $(this); // capture clicked item
var _id = $(this).attr("id");
data._id = $(this).attr("id");
data.operation = "deleteorderdetail";
if (confirm("Are you sure?")) {
$.ajax({
url: 'delete.php',
method: 'POST',
data,
success: function(data) {
clickedItem.closest("tr").hide(1000); // use clicked item
dataTable.ajax.reload();
}
});
} else {
return false;
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/343475.html
