Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery对话框,关闭时隐藏对话框中的元素_Javascript_Jquery_Dialog - Fatal编程技术网

Javascript jQuery对话框,关闭时隐藏对话框中的元素

Javascript jQuery对话框,关闭时隐藏对话框中的元素,javascript,jquery,dialog,Javascript,Jquery,Dialog,我正在使用jQueryUI对话框函数,关闭后,我想隐藏对话框中的一个元素 我试图在对话框函数的关闭事件中执行此操作,但它不起作用。我猜测是因为该元素在关闭时不再存在 这是密码 // Dialog settings for our edit dialog's $("#myDialog").dialog({ autoOpen: false, close: function(event, ui){ $("#myDiv").hide(); } });

我正在使用jQueryUI对话框函数,关闭后,我想隐藏对话框中的一个元素

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

这是密码

// 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>  
//编辑对话框的对话框设置
$(“#myDialog”).dialog({
自动打开:错误,
关闭:功能(事件、用户界面){
$(“#myDiv”).hide();
}   
});
当用户关闭对话框时,此div应该隐藏,但当我重新打开对话框时,它保持打开状态。

myDialog及其内部的所有内容(包括myDiv)在对话框关闭时应自动隐藏。您不需要编写任何额外的代码来实现这一点。如果不起作用,那么就有别的问题了。根据您问题中的代码示例,我的猜测是:

  • 默认情况下隐藏myDialog,例如,
  • 适当时显式打开对话框,例如,
    $(“#myDialog”)。对话框(“打开”)

  • 您可能只需要相对于对话框引用这些元素

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

        close: function(event, ui){
         $(this).find('#myDiv').hide()
        }   
    

    对话框中的div没有随对话框一起隐藏?默认情况下,“我的”对话框中的div会显示,当我关闭对话框时,我希望它隐藏起来。你能提供你的CSS吗?但对我来说效果很好:我无法重现你的问题:我认为没有必要使用
    find
    方法,因为他已经使用了一个ID选择器,而且它是唯一的。现有的代码运行良好,除非他在代码中有另一个不正确的逻辑错误。当他将html放入对话框时,jquery正在克隆该html。这意味着该元素现在有两个id为的副本。如果您按id选择,jquery将只返回它找到的第一个副本。jquery不克隆内容,这将是创建对话框的“不明智”方式,正如我在上一篇评论中提到的,因为事件、样式等原因,请务必查看inspector;)页中有两个元素具有相同的id是一个可被视为“语法错误”的提示