2013-04-04 62 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