显示/隐藏Javascript问题

永远学习

我在网上找到了此脚本,它应该显示为“隐藏文本框和标签”。如果对divpassword进行更改,我对其所做的任何更改都将使其无法正常运行。问题是,如果我选中“否”,则此后将隐藏所有内容。我如何才能仅隐藏所需的部分,以及如何将复选框设置为默认值?

<script type="text/javascript">
  function ShowHideDiv() {
    var chkYes = document.getElementById("chkYes");
    var dvPassport = document.getElementById("dvPassport");
    dvPassport.style.display = chkYes.checked ? "block" : "none";
  }
</script>

<span>Do you have More Education?</span>
<label for="chkYes">
       <input type="radio" id="chkYes" checked name="chkEducation" 
    onclick="ShowHideDiv()" />
       Yes
    </label>
<label for="chkNo">
       <input type="radio" id="chkNo" name="chkEducation" onclick="ShowHideDiv()"/> 
        No
    </label>

我试图以某种方式结束它,然后重新开始,但这并没有帮助。谢谢。

安德里亚·纳斯比(Andrea Naspi)

要将“ no”设置为默认值,请在html中将输入type =“ radio”设置为id =“ chkNo”(现在选中的元素是inpu type =“ radio”并设置id =“ chkYes”)并设置div html中的id =“ dvPassport”和style =“ display:none”。函数ShowHideDiv似乎是正确的,仅在仅包含文本框和标签的div上设置id =“ dvPassport”即可隐藏您想要的元素。例:

<script type="text/javascript">
  function ShowHideDiv() {
    var chkYes = document.getElementById("chkYes");
    var dvPassport = document.getElementById("dvPassport");
    dvPassport.style.display = chkYes.checked ? "block" : "none";
  }
</script>

<span>Do you have More Education?</span>
<label for="chkYes">
       <input type="radio" id="chkYes" name="chkEducation" 
    onclick="ShowHideDiv()" />
       Yes
    </label>
<label for="chkNo">
       <input type="radio" id="chkNo" checked name="chkEducation" onclick="ShowHideDiv()"/> 
        No
</label>
<div id="dvPassport" style="display:none">
  <br/>
  <input type="text" placeholder="text1"/>
  <br/><br/>
  <input type="text" placeholder="text2"/>
<div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章