javascript hide()和show()不隐藏所有内容,因为它';应该是的

javascript hide()和show()不隐藏所有内容,因为它';应该是的,javascript,jquery,forms,hide,Javascript,Jquery,Forms,Hide,我有下面的代码,如果选中复选框,应该首先更改文本(这很好),然后显示带有下拉框的div。如果复选框未选中,则应再次隐藏div 问题是div包含一个javascript生成的下拉框,允许用户根据需要添加/删除字段 如果您测试它,您会注意到,当您选中复选框,然后单击“添加国家”,然后再次取消选中复选框时,“添加国家”将消失,但生成的下拉列表不会消失 如果再次取消选中该复选框,是否有办法再次隐藏下拉列表 代码如下: 您的浏览器正在自动更正语法无效的html。不能将div和图像放在表中。您需要先放入行和

我有下面的代码,如果选中复选框,应该首先更改文本(这很好),然后显示带有下拉框的div。如果复选框未选中,则应再次隐藏div

问题是div包含一个javascript生成的下拉框,允许用户根据需要添加/删除字段

如果您测试它,您会注意到,当您选中复选框,然后单击“添加国家”,然后再次取消选中复选框时,“添加国家”将消失,但生成的下拉列表不会消失

如果再次取消选中该复选框,是否有办法再次隐藏下拉列表

代码如下:


您的浏览器正在自动更正语法无效的html。不能将div和图像放在表中。您需要先放入行和单元格。然后页面会中断,因为javascript没有针对您认为它针对的对象

  <table cellpadding="0" cellspacing="0" id="tblCountryCurrency">
       <div id="detailedID" style="display: none;">
           <img src="http://placehold.it/30x30" title="Add Row" border="0" onclick="addRowToCountryPrice('',''); return false;">
       <a href="" onclick="addRowToCountryPrice('',''); return false;">Add a Country</a>
       <input type="hidden" name="TotalLinesCountry" id="TotalLinesCountry">

示例修复程序:

  <table cellpadding="0" cellspacing="0" id="tblCountryCurrency">
    <tr>
       <td><div id="detailedID" style="display: none;"></td>
    </tr>
  </table>


你可能根本不想在这里用桌子。因此,我建议将其取出并用div替换。这样,您的代码可能会工作。

您的html无效。你有

<table>
   <div>
   ...
</table>

...
单元格只能直接包含tr/tbody/thead标签。表中的一个空div将从表中“漏出”

下面还有两个
关闭标记,但只有一个
打开标记


首先修复你的html。清理它,使其更清晰-不要将脚本块塞进标记的中间。这本书既令人困惑又难以阅读。

好吧,即使是一团糟,也要把你的书放进去

<div id="detailedID" style="display: none;">


在表格前面。

您的HTML标记严重无效。
元素不能像这样在其正下方有一个
。如果使用JQuery,请在任何地方都使用它。创建新选项时,我甚至看到了
document.getElementById(“TBLContryCurrency”)
是的,请从代码中取出脚本块并将它们移到头部。像这样简单的事情会让你的开发生活变得更加轻松!哇,我真的很笨。很抱歉,它现在工作得很好!我想我只是太努力了:)