2013-04-04 61 views
4

我认为所有的都在标题中。当我开始这个时,我认为这将是一个5分钟的代码或谷歌搜索时的快速结果...但现在是三个小时我在这:JQuery UI对话框显示等待消息,直到处理ajax调用

只需显示一个对话框,请稍候... “消息,而我正在执行ajax调用来检索一些json结果,然后显示”Result complete“。

$('#switchOff').live("click",function(){ 

    $('#dialog').dialog({ 
       modal:true, 

       open: function(){ 
// I would like to call myAjax function 
//From here ? 
// While my dialog is showing the Wait message... 
       }, 


       complete: function(){ 
//close the dialog when fished 
       $('#dialog').dialog('close'); 
         }, 
    }); 



}); 

function ajaxCall() { 
       //my ajax call 
} 
+1

有什么不对?你为什么不显示你的JS代码?!? – skurton 2013-04-04 16:33:00

+0

不好意思.. 为什么在调用ajax调用之后不调用Jquery的对话? – 2013-04-04 16:37:29

+0

正如我描述我的问题,实际上我想先显示对话框:$(“#myDialogBox”)。dialog();并呼吁阿贾克斯... – Zamboo 2013-04-04 16:44:25

回答

11

您不应该再使用live了。改为使用.on。你正在混合对话框的ajax代码。这是我如何做的一个例子。

Here is link to fiddle for demonstation

$('#switchOff').on("click", ajaxCall); 

$("#loading").dialog({ 
    hide: 'slide', 
    show: 'slide', 
    autoOpen: false 
}); 

function ajaxCall() { 
    $.ajax({ 
     url: '/echo/html/', 
     data: { html: '<p>JSON result</p>' , delay: 3}, 
     method: 'post', 
     beforeSend: function(){ 
      $("#loading").dialog('open').html("<p>Please Wait...</p>"); 
     }, 
     success: function(data) { 
      $('#loading').html("<p>Result Complete...</p>"); 
      $('#ajaxResult').html(data); 
     } 
    }); 
} 
+0

“.on”显然与最新版本的JQuery一起使用。但我使用的是JQuery 1.5 ...因为我需要迁移一些旧功能。但是你的解决方案就像一个魅力。非常感谢。 – Zamboo 2013-04-05 07:50:42

+0

upvote为小提琴 – ugnuku 2013-06-21 14:19:41

0

这条评论

`As I described my problem, in fact I would like to first display the dialog: $("#myDialogBox").dialog();` 

And after call the ajax.. 

解决的办法是:

从按钮上的点击id="btn"

$("#btn_Deletepara").click(function() { 
       $("#JQUERY'sDialog").dialog("open"); 
//Now you Call the ajax 
      }); 

或者

$("#JQUERY'sDialog").dialog({ 

Add your script for call ajax 
+0

谢谢米尔科的回应,我添加了一些代码,但我试了很多次,我不知道哪些代码要保留...你的代码是非常接近我添加的。但它似乎不工作....(对我来说) – Zamboo 2013-04-04 17:01:37

+0

公开您的代码的JS – 2013-04-04 18:41:51