0

我正在使用 jQuery UI 对话框功能,关闭后,我想隐藏对话框中的元素之一。

我试图在 Dialog 函数的关闭事件中执行此操作,但它不起作用。我猜是因为该元素在关闭时不再存在。

这是代码。

// 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").dialog().find('#myDiv').hide()

-编辑-

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

myDialog 和其中的所有内容,包括 myDiv,都应该在对话框关闭时自动隐藏。您不需要编写任何额外的代码来实现这一点。如果不起作用,则说明其他问题。我的猜测基于您问题中的代码示例:

  1. 默认隐藏 myDialog,例如,<div id="MyDialog" style="display:none;">...
  2. 在适当的时候显式打开对话框,例如,$("#myDialog").dialog("open");
于 2012-07-19T17:46:10.587 回答