我想添加一个包含删除按钮的div列表元素,并在添加后删除它。当我尝试在添加该div后立即删除该div元素时,它将其从html中删除,但不会从服务器端删除。刷新页面时,我看到该元素,并且可以在刷新页面后将其删除。我的代码如下。我使用ajax.post方法发送服务器,并使用jquery post方法删除。jQuery用ajax Post方法追加和删除元素
$(function() {
$("button#formDepartment").click(function(){
$.ajax({
type: "POST",
url: "addsomething.php",
data: $('form#newDepartment').serialize(),
success: function(data) {
document.getElementById("newDepartment").reset();
idDep = data;
},
error: function(){
alert("failure");
}
});
var departmentName = $('#nameDepartment').val();
var newDepartmentElem =
' <div class="list-group-item" data-plugin="editlist"> \
<div class="list-content"> \
<span class="list-text">' + departmentName + '</span> \
<div class="item-actions"> \
<span class="btn btn-pure btn-icon" id="deleteDepartment" data-delete-id="' + idDep + '" ><i class="icon wb-trash" aria-hidden="true"></i></span> \
</div> \
</div> \
</div>';
$(newDepartmentElem).hide().appendTo("#departmentList").slideDown('slow');
});
$(document).on('click', 'span#deleteDepartment', function() {
var deleteId = $(this).data("delete-id");
var removeItem = $(this).closest('.list-group-item');
bootbox.dialog({
message: "this department will be deleted.",
title: "Delete department",
buttons: {
success: {
label: "Delete",
className: "btn-success",
callback: function() {
$.post("deletesomething.php",
{itemId : deleteId, deleteItem : "department"}
);
removeItem.slideUp(600);
toastr.error("Department deleted.");
console.log(deleteId);
}
},
danger: {
label: "Cancel",
className: "btn-danger",
callback: function() {
}
}
}
});
});
});
检查你的后端代码,这个问题是存在的! –
没有它的作品。我可以从其他页面使用它。我想我知道问题在哪里,但我不知道如何解决。也许你可以帮忙。在我的代码中,我添加了带有混合参数data-delete-id的新html div,因为它无法找到data-id并且无法发送到服务器。为了解决这个问题,我尝试了一个全局变量,它包含了ajax.post成功回调函数中的id。但它不起作用。我无法将该变量添加到我的代码中。如何在成功回调函数中创建一个全局变量? –
当你插入时,你在某处返回'id'?或不 ! –