更新1:我已经完成了回调功能。 这是我的解决方案。我只是在打开dialog2时添加一个回调函数,并在对话框2中接收用户更改的隐藏元素。现在一切都完成了。谢谢你!
-------老问题----------------
我的英语不好,所以我很容易写。
我正在使用Jquery Dialog,我想显示多个对话框。 (dialog1打开dialog2打开对话框3 ...)
但问题是当我打开dialog1然后再打开dialog2(确认对话框,以便用户可以在dialog2中选择是/否并将值返回到dialog1)。
我知道Javascript是异步的,所以当用户打开dialog1并单击打开dialog2时,它不会等到dialog2中的事件完成。
Here is my source code(简单逻辑)
$("#dialogForm").dialog({
autoOpen: false,
height: height,
width: width,
modal: true,
close: function() // Hàm này được gọi tự động khi đóng dialog
{
//abc();
// Sau khi thêm mới thành công thì reset lại form
resetForm();
$("#dialogForm").dialog( "close" );
},
buttons: {
"Ok": function() {
var choose = showDialogConfirm(250, 200, "Bạn có đồng ý thêm?", test);
if(choose == true)
{
// do some good
}
},
"Cancel": function() {
$("#dialogForm").dialog("close");
}
}
});
$("#dialogForm").dialog("open");
function showDialogConfirm(width, height, message)
{
$("#dialogConfirm").toggle();
$("#dialogConfirm").dialog({
autoOpen: false,
height: height,
width: width,
modal: true,
close: function() // Hàm này được gọi tự động khi đóng dialog
{
$("#dialogConfirm").dialog( "close" );
},
buttons: {
"Yes": function() {
return true;
$("#dialogConfirm").dialog("close");
},
"No": function() {
return false;
$("#dialogConfirm").dialog("close");
}
}
});
$("#dialogConfirmContent").html(message);
$("#dialogConfirm")
.dialog("open");
}
答案 0 :(得分:0)
绝对应该在对话框callback functions
中编写代码。在dialog1
中,您只需弹出dialog2
并选择确认对话框,因此它应该是模型对话框,您将代码绑定到OK button
,然后您可以get
“正确”的结果。通过添加新参数更改showconfirmdialog
:callbackfunction
。