我正在使用带有ajax的Jquery对话框。我试图在单击一个按钮(ajax.always)之后实现弹出对话框,然后在完成一次操作(ajax.done)后替换为另一个对话框。
我有以下代码:
$("#dialog").dialog({
autoOpen: false,
modal: true,
show: "blind",
hide: "explode",
resizable: false,
draggable: true,
closeOnEscape:false,
width: 180,
height: 200,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
$("#dialog2").dialog({
autoOpen: false,
modal: true,
show: "blind",
hide: "explode",
resizable: false,
draggable: true,
closeOnEscape:false,
width: 180,
height: 200,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
.....
$.ajax({
url: '****',
type: 'POST',
data: values,
})
.done(function() {
$("#dialog").dialog("close");
$("#dialog2").load('pages/success_page.php' , function() {
$("#dialog2").dialog("open");
setTimeout(function(){ $('#dialog2').dialog("close"); }, 3000);
});
})
.fail(function() {
console.log("error");
})
.always(function() {
$("#dialog").load('pages/loading_page.php' , function() {
$("#dialog").dialog("open");
});
});
});
但是,此解决方案不起作用。理想情况下,我正在寻找这样的解决方案:.always将始终打开loading.php页面的对话框,.done将用success.php替换该对话框的内容,然后在几秒钟后关闭。
有人可以帮忙吗?
谢谢