2010-12-10 19 views
0

ajax読み込みコンテンツからclose jquery UIダイアログボックスを追加しようとしています。ここでajax読み込みコンテンツからJQuery Uiダイアログを閉じる

はいくつかのコードです:

<script> 
     $(".add_as_friend").click(function(){ 
      $("#dialog-modal").load("/friends/add_popup/"+$(this).attr('id')).dialog({ 
       title: sprintf('<?=_("Ajouter %s comme ami");?>',$(this).attr('rel')), 
       width: 500, 
       height: 350, 
       modal: true, 
       buttons: { 
        "<?=_("Annuler");?>": function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 
     }); 
    </script> 

とAjaxからそれを閉じるための呼び出しは、あなたはjQueryのUI自体に.dialog("close")方法を使用することができます

$(".add").click(function(){ 
    //submit a form 
    // close modal box and redirect main window 
}); 

答えて

4

あなたはダイアログに変わったdivでdialog.close()メソッドを呼び出してみることができます。

$(".add").click(function(){ 
    $('#dialog-modal').dialog('close'); 
}); 
+0

働いありません、私はそれが動的にロードされたので、それを行うことができなかったと思ったが、私は私が間違っていたと思います!ありがとう –

1

ようなものになるだろう。

+0

なし '.close()'メソッド:) –

1

モーダルボックスは実際には同じウィンドウにあるため、クリックハンドラからリダイレクトするだけで簡単に取得できます。本当に閉じたい場合は、単にダイアログのcloseメソッドを呼び出します。

$('.add').click(function() { 
     $.ajax($('form').attr('action'), $('form').serialize(), function(data) { 
      // optional since we're unloading the page 
      $('#dialog-modal').dialog('close'); 
      location.href = data.RedirectUrl; 
     }); 
}); 
関連する問題