2015-11-10 172 views
0

編輯 - 我沒有正確定位對話框。原始代碼有效。關閉ajax回調的jQuery對話框

我想關閉.ajax成功的jqueryui對話框。

我有一個調用的方法阿賈克斯以下時,完全...

function reserved(d) { 
     $(".itemdetail").dialog("close"); 
} 

這將產生以下錯誤...

不能調用在初始化之前對話框的方法;試圖 調用方法「關閉」

我已經研究過,但沒有找到合適的解決方案。

+2

這通常意味着.itemdetail從來沒有$(「。itemdetail」)。dialog();呼籲它爲了初始化它。你確定這個對話框是開放的嗎?如果是的話,那裏有多個.itemdetail元素,其中一個可能沒有與之關聯的對話框? – AtheistP3ace

+0

對話框打開,所以是的,我可以看到它。我從一個乾淨的頁面開始(刷新),單擊打開對話框的元素,單擊發送ajax請求的元素,然後在回調中收到錯誤。 – tintyethan

+0

頁面上是否有多個.itemdetail? – AtheistP3ace

回答

0

您可以檢查它是否已初始化並打開,然後執行特定操作。

function reserved(d) { 
     if($(".itemdetail").hasClass('ui-dialog-content') && $(".itemdetail").dialog("isOpen")) 
       $(".itemdetail").dialog("close"); 
} 
+0

否 - 未初始化。不知道如何處理,但。該對話框正在屏幕上顯示。 – tintyethan

+0

我沒有正確定位對話框。原始代碼有效。謝謝你的幫助。 – tintyethan