所以我有一个记录表,其中每个人都有一个删除按钮。我想添加一个确认弹出窗口,单击按钮时会显示该弹出窗口。
var $confirmDialog = $('<div></div>')
.html('This record will be removed.')
.dialog({
autoOpen: false,
title: 'Remove confirtmation',
buttons: {
"OK": function () {
$(this).dialog("close");
return true;
},
"Cancel": function () {
$(this).dialog("close");
return false;
}
}
});
我的删除按钮事件:
$(".removeButton").on("click", function(){
if($confirmDialog.dialog('open')){
var name = $(this).siblings(".someClassForNameHolder").text();
var urlPath = $("#hiddenForUrl").val();
Application.postRecord(name, "Remove", urlPath);
}
});
顺便说一下,我有以下几点:
1)我无法为表格中的每条记录提供唯一的ID,因此我必须将我的数据集合(name
变量)保留在removeButton
事件中(以便能够使用this.sibling ......)。
2)我希望我的脚本等到$confirmDialog
返回值,然后才继续执行代码。
答案 0 :(得分:0)
只需将urlPath
分配给全局变量,然后执行POST
处理程序中的OK
:
var nameToRemove, urlPathToRemove;
var $confirmDialog = $('<div></div>')
.html('This record will be removed.')
.dialog({
autoOpen: false,
title: 'Remove confirtmation',
buttons: {
"OK": function () {
$(this).dialog("close");
Application.postRecord(nameToRemove, "Remove", urlPathToRemove);
},
"Cancel": function () {
$(this).dialog("close");
return false;
}
}
});
$(".removeButton").on("click", function(){
if($confirmDialog.dialog('open')){
nameToRemove = $(this).siblings(".someClassForNameHolder").text();
urlPathToRemove= $("#hiddenForUrl").val();
}
});