2013-02-28 141 views
0

我有一個對話框有兩個按鈕:「是」和「否」。 爲「是」,我會做一些數據庫操作通過jQuery post對話框關閉

$.ajax({ 
    type: post 
    ... 
}) 
下的成功部分

,我需要用一個新的頁面,它工作正常重定向我的HTML標記的一部分。之後,我希望關閉對話框,這是行不通的。

我使用cmd是

$(this).dialog("close"); 

我也試過:

$(this).closest('.ui-dialog-content').dialog('close'); 

$(this).parents(".ui-dialog-content").dialog('close'); 

我的成功部分內上述作品都不是。我認爲這可能是由於重定向。尚未確定。

有沒有人有一些想法? 謝謝!

+1

你能包含更多的代碼嗎?處理點擊「是」的整個函數將會是太棒了 - 在你的AJAX調用的'success'回調處理程序中'this'不是你認爲它/需要它的東西。 – 2013-02-28 16:47:32

+0

我已經通過cernunnos的想法解決了這個問題。謝謝兄弟 – 2013-02-28 17:03:54

回答

1

我假設你在成功函數中使用$(this),如果這是真的,那麼你的問題是「this」不再指向你的對話框。

保存參考對話框DIV打電話之前的AJAX功能,然後用成功函數內部的參考

// before ajax 
var that = this 

// inside success 
$(that).dialog('close'); 
+0

謝謝兄弟,它的工作原理。感謝您的解釋。 – 2013-02-28 17:03:06

1

只要給一個ID到您的對話框,並在阿賈克斯成功回調的說:

$("#yourDialogId").dialog("close"); 
+0

謝謝兄弟。其實,你的解決方案工作,更容易。然而,cernunnos給出了我的方式不起作用的根本原因。 – 2013-02-28 17:02:32