首页 > 解决方案 > 单击时单选按钮不执行 JavaScript 操作

问题描述

我正在尝试创建一个单选按钮来打开一个额外的复选框。当我运行代码时,复选框已经打开。我能做些什么来解决它?

<script>
  function accountFunction() {
    if (document.getElementById('yesSrm').checked) {
      document.getElementById('acct').style.display = "inline";
    } else {
      document.getElementById('acct').style.display = "none";
    }
</script>
<form>
  <input id="yesSrm" name="yesSrm" type="radio" value="yes" onchange="accountFunction()" />SRM<br/>
  <br/>
  <div id="acct">
    <label for="account">Account</label>
    <input type="checkbox" name="account" id="account"><br/>
  </div>
</form>

它是如何出现的

标签: javascripthtmlcheckboxradio-buttonboolean

解决方案


只需添加display:noneacct块以默认隐藏它

<script>
  function accountFunction() {
    if (document.getElementById('yesSrm').checked) {
      document.getElementById('acct').style.display = "block";
    } else {
      document.getElementById('acct').style.display = "none";
    }
  }
</script>
<form>
  <input id="yesSrm" name="yesSrm" type="radio" value="yes" onchange="accountFunction()" />SRM<br/>
  <br/>
  <div id="acct" style="display: none">
    <label for="account">Account</label>
    <input type="checkbox" name="account" id="account"><br/>
  </div>
</form>


推荐阅读