2011-08-11 116 views
0

問題:無法關閉模態對話框無法關閉模態對話框

我有下面的代碼,它的工作對我來說,對話框打開。

$("#invitation-form").dialog({ 
    autoOpen: true, 
    height: 300, 
    width: 600, 
    modal: true, 
    title: 'Send Invitation', 

    open: function() { 
     $("#invitation-form").html("<%= escape_javascript(render('invitation_form.html')) %>") 
    } 
}); 

內邀請的形式,用戶之後點擊「發送」按鈕, 就會觸發,並在控制器的功能,它是與Ajax調用,怎麼我設置:遠程=>真

和我嘗試做以下操作

$("#invitation-form").dialog("close") 

對話框不關閉。

我放置並警告消息來測試它,它通過代碼運行,我可以看到警報消息。

任何人都可以幫助我,我怎麼關閉對話框?

感謝

+0

你可以發表代碼你在哪裏叫'dialog('close')'?另外,在控制檯中是否有任何錯誤? –

回答

0

你應該嘗試了設置對話框不autoOpen:只要你想,以及

$("#invitation-form").dialog({ 
    autoOpen: false, 
    height: 300, 
    width: 600, 
    modal: true, 
    title: 'Send Invitation', 

    open: function() { 
     $("#invitation-form").html("<%= escape_javascript(render('invitation_form.html')) %>") 
    } 
}); 

然後你可以叫open在頁面加載,如果你想和close

$("#invitation-form").dialog("open"); 
$("#invitation-form").dialog("close"); 
+0

哇....它怎麼變成這麼簡單..我是那接近解決方案..... – jojo

0

你有沒有嘗試把ajax函數放在關閉?

$("#invitation-form").dialog({ 
    close: function() { Ajax stuff here } 
}); 

否則,嘗試設置 「發送」 按鈕:

//getter 
var buttons = $(".selector").dialog("option", "buttons"); 
//setter 
$(".selector").dialog("option", "buttons", { "Ok": function() { $(this).dialog("close"); } }); 
0

還要檢查jQuery的用戶界面和不包含在加載文件的jquery.js。 如果加載兩次,它將在對話框關閉方法中停止工作。