削除ボタンを含む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() {
}
}
}
});
});
});
あなたのバックエンドのコードをチェックし、問題があります!!! –
これは機能しません。他のページからも使えます。私はどこに問題があるのか知っていると思うが、私はどのように修正できるかわからない。多分あなたが助けることができます。私のコードでは、データIDを見つけることができず、サーバに送ることができないので、混合パラメータ、data-delete-idで新しいhtml divを追加します。これを修正するために、ajax.post successコールバック関数のidを含むグローバル変数を決定しようとしました。しかし、それは動作しません。私は自分のコードに変数を追加することはできません。成功コールバック関数でグローバル変数を作成するにはどうすればよいですか? –
あなたが挿入すると、あなたはどこか 'id'を返しますか?か否か ! –