jQuery对话框具有不同的内容

时间:2020-01-24 12:46:29

标签: jquery ajax dialog jquery-ui-dialog

我正在使用带有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替换该对话框的内容,然后在几秒钟后关闭。

有人可以帮忙吗?

谢谢

1 个答案:

答案 0 :(得分:0)

正如freedomn-m所建议的,我已经研究了烤面包机,这真是太神奇了。简单易用的代码,效果很好。谢谢

相关问题