我正在尝试允许用户删除多条记录,点击“删除”链接并显示一个对话框,说明你确定吗?单击“确定”后,应删除。
它第一次使用它,但对于任何其他删除按钮,我点击它不起作用。我正在设置一个隐藏字段来存储一些信息,然后在对话框中获取该信息。
我已经确定了问题,请参阅代码中的注释,但不确定为什么会出现问题。
这是删除按钮:
$(".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>
任何想法?
答案 0 :(得分:2)
您正在运行
$("#hidden-itemid").remove();
在json.success
上,所以你从DOM中删除了元素..下次它不存在,因此你得到一个错误..