我试图让用户删除多条记录,他们单击“删除”链接,然后出现一个对话框,显示您确定吗?单击“确定”后,它应该会被删除。
这是我第一次这样做,但对于我单击的任何其他删除按钮都不起作用。我正在设置一个隐藏字段来存储一些信息,然后在对话框中获取该信息。
我已经确定了问题,请参阅代码中的注释,但不确定为什么会出现问题。
这是删除按钮:
$(".delete-item").click(function () {
$(this).css('font-weight', 'bold');
var delId = $(this).attr("id");
$("#hidden-itemid").val(delId);
$("#dialog-delete-sure").dialog("open");
});
这是对话框:
$("#dialog-delete-sure").dialog({
autoOpen: false,
resizable: false,
height: 140,
modal: true,
buttons: {
Ok: function () {
var hiddenId = $("#hidden-itemid").val();//*** This comes back undefined the second time***//
var itemId = $("#hidden-itemid").val().split('-')[1];
var iType = $("#hidden-itemid").val().split('-')[0];
$.post('/User/Delete/', { id: itemId, itemType: iType }, function (json) {
if (json.success) {
$("#" + iType + "-row-" + itemId).hide('slow', function () { $("#hidden-itemid").remove(); });
$("#dialog-success-delete").dialog("open");
} else {
if (json.error == "unknown") {
$("#dialog-unknown-error").dialog("open");
}
if (json.error == "unauthenticated") {
$("#dialog-unauthenticated").dialog("open");
}
}
});
$("#hidden-itemid").css('font-weight', 'normal');
$(this).dialog("close");
},
Cancel: function () {
$(this).dialog("close");
}
}
});
典型的删除按钮如下所示:
<a id="event-63" class="delete-item">Delete</a>
有什么想法吗?
最佳答案
你在运行
$("#hidden-itemid").remove();
在 json.success
上,因此您从 DOM 中删除该元素..下次它不存在时,您会收到错误..
关于javascript - jQuery 隐藏字段未设置多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836727/