2011-08-11 5 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の-UIおよびロードされたファイルに含まれていないjquery.jsをご確認ください。 2回ロードされた場合、ダイアログのクローズ方法を停止します。

関連する問題