0

jQuery UI Dialog 関数を使用していますが、閉じるときに、ダイアログにあった要素の 1 つを非表示にしたいと考えています。

ダイアログ関数のクローズ イベント内でこれを実行しようとしていますが、機能していません。クローズ時にその要素が存在しなくなったため、推測しています。

これがコードです。

// Dialog settings for our edit dialog's
$("#myDialog").dialog({
    autoOpen: false,
    close: function(event, ui){
         $("#myDiv").hide();
    }   
});


<div id="myDialog">
   <div id="myDiv">This div should hide when the user closes the dialog, but it stays open when I re-open the dialog.</div>
</div>  
4

2 に答える 2

0

ダイアログを閉じると、myDialog とその内部のすべて (myDiv を含む) が自動的に非表示になります。これを実現するために追加のコードを記述する必要はありません。うまくいかない場合は、別の何かが間違っています。あなたの質問のコードサンプルに基づく私の推測:

  1. デフォルトで myDialog を非表示にします。<div id="MyDialog" style="display:none;">...
  2. 必要に応じてダイアログを明示的に開きます。$("#myDialog").dialog("open");
于 2012-07-19T17:46:10.587 に答える
0

おそらく、ダイアログに関連してこれらの要素を参照する必要があるだけです。

  $("#myDialog").dialog().find('#myDiv').hide()

-編集-

    close: function(event, ui){
     $(this).find('#myDiv').hide()
    }   
于 2012-07-19T17:48:29.843 に答える