这个概念看起来很简单,但我在执行它时遇到了很多问题。
我需要关闭当前对话框并打开另一个对话框。它会关闭#imageModal,但不会打开#uploadModal。
有什么建议吗?
编辑:添加了#uploadModal
$("#imageModal").dialog({
autoOpen: false,
height: 500,
width: 500,
modal: true,
closeOnEscape: true,
resizable: false,
buttons: {
'Upload Image': function() {
// CLOSE 1 DIALOG AND OPEN ANOTHER
$(this).dialog('close');
$('#uploadModal').dialog('open');
},
Cancel: function() {
$(this).dialog('close');
}
},
close: function() {
$(this).dialog('close');
}
});
$("#uploadModal").dialog({
autoOpen: false,
height: 500,
width: 500,
modal: true,
closeOnEscape: true,
resizable: false,
buttons: {
'Upload Image': function() {
},
Cancel: function() {
$(this).dialog('close');
}
},
close: function() {
$(this).dialog('close');
}
});
答案 0 :(得分:2)
使用对话框完成任务时执行的回调函数。
[...]
'Upload Image': function() {
// CLOSE 1 DIALOG AND OPEN ANOTHER
$(this).dialog('close', function() {
$('#uploadModal').dialog('open');
});
},
[...]
答案 1 :(得分:1)
1 - 这个;
// CLOSE 1 DIALOG AND OPEN ANOTHER
$(this).dialog('close');
$('#uploadModal').dialog('open');
2 - 致:
// CLOSE 1 DIALOG AND OPEN ANOTHER
$('#uploadModal').dialog('open');
$(this).dialog('close');
答案 2 :(得分:0)
$(this).dialog('close');
$('#uploadModal').dialog('open');
这实际上适合我(jquery 1.7 jquery-ui 1.8)。建议的答案仅关闭对话框,不会打开新对话框。
答案 3 :(得分:0)
尝试在setTimeout中包装“uploadModal”打开调用。
'Upload Image': function() {
// CLOSE 1 DIALOG AND OPEN ANOTHER
$(this).dialog('close');
setTimeout(function () {
$('#uploadModal').dialog('open');
}, 100);
},
您还可以通过..
绑定到对话框的关闭事件$("#uploadImage").bind("dialogClose", function () {
// code goes here
});
但我认为第一种方法可以满足您的需求。
答案 4 :(得分:0)
是的,这已经在这里了一点。我正在寻找如何解决同样的问题。我发布了更多代码然后需要,所以你可以看到最新情况。我使用了当前对话框的名称来关闭以及要打开的新名称。作品...
//============= User Modal ===============================//
$( "#dialog-message" ).dialog({
autoOpen: false,
modal: true,
resizable: false,
width: 650,
buttons: {
Add: function() {
$('#dialog-message').dialog( "close" );
$('#dialog-message3').dialog( "open" );
}
}
});
$( "#opener" ).click(function() {
$( "#dialog-message" ).dialog( "open" );
return false;
});
//========== Add User Modal ============================ //
$( "#dialog-message3" ).dialog({
autoOpen: false,
modal: true,
resizable: false,
width: 250,
buttons: {
Save: function() {
$( '#dialog-message3' ).dialog( "close" );
}
}
});