You need to enable JavaScript to run this app. 多个Checkbox切换内容功能仅单个生效如何修复?
优惠活动
大模型
产品
解决方案
定价
更多

多个Checkbox切换内容功能仅单个生效如何修复?

问题根源
  • JS代码中硬编码获取id为myCheck的复选框,但你实际HTML中的4个复选框均未使用该id,导致无法正确获取到点击的复选框元素
  • HTML中多个提示<p>重复使用了同一个id="text",id属性在HTML文档中必须全局唯一,document.getElementById仅能返回匹配到的第一个元素,因此其余3个复选框对应的提示无法被找到
修复方案

步骤1:修改JavaScript代码

修改函数逻辑,接收当前点击的复选框元素作为参数,根据复选框的id匹配对应的提示元素:

<!-- Check box dropdown -->
<script>
function myFunction(currentCheck) {
  // 按当前点击的复选框id匹配对应提示元素
  var text = document.getElementById("text-" + currentCheck.id);
  // 切换显示状态
  text.style.display = currentCheck.checked ? "block" : "none";
}
</script>
<!-- Check box dropdown -->

步骤2:修改HTML代码

调整提示元素的id,和复选框id一一对应,同时调用函数时传入当前点击的元素:

<div class="checkbox">
  <label>
    <input type="checkbox" id="chkNIRF" onclick="myFunction(this)">
    <p class="text-grey">Demo</p>
  </label>
  <label>
    <input type="checkbox" id="chkNAAC" onclick="myFunction(this)">
    <p class="text-grey">Demo</p>
  </label>
  <label>
    <input type="checkbox" id="chkINI" onclick="myFunction(this)">
    <p class="text-grey">Demo</p>
  </label>
  <label>
    <input type="checkbox" id="chkIoE" onclick="myFunction(this)">
    <p class="text-grey">Demo</p>
  </label>
</div>

<p id="text-chkNIRF" style="display:none">Checkbox is CHECKED!</p>
<p id="text-chkNAAC" style="display:none">Checkbox is CHECKED!</p>                
<p id="text-chkINI" style="display:none">Checkbox is CHECKED!</p>                
<p id="text-chkIoE" style="display:none">Checkbox is CHECKED!</p>

内容的提问来源于stack exchange,提问作者SandyS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 07:03:03