You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在勾选一个复选框时自动勾选其他复选框?[JavaScript]

没问题,我来帮你实现这个纯HTML/JavaScript的复选框联动功能,完全不需要依赖jQuery!

完整实现代码

先给你一个直接能用的示例,你可以根据自己实际的表单结构调整id:

<form>
  <label><input type="checkbox" name="html1" value="html1" id="html1"> Checkbox 1</label><br>
  <label><input type="checkbox" name="html2" value="html2" id="html2"> Checkbox 2</label><br>
  <label><input type="checkbox" name="html3" value="html3" id="html3"> Checkbox 3</label>
</form>

<script>
// 获取三个复选框的DOM元素
const checkbox3 = document.getElementById('html3');
const checkbox2 = document.getElementById('html2');
const checkbox1 = document.getElementById('html1');

// 给Checkbox 3绑定状态变化事件
checkbox3.addEventListener('change', function() {
  // 当Checkbox 3被勾选时,自动勾选前两个
  if (this.checked) {
    checkbox1.checked = true;
    checkbox2.checked = true;
  }
  
  // 如果你需要取消勾选Checkbox 3时,也同步取消前两个,可以取消下面的注释
  // else {
  //   checkbox1.checked = false;
  //   checkbox2.checked = false;
  // }
});
</script>

代码说明

  1. 获取元素:用document.getElementById()获取每个复选框的DOM节点,这是原生JavaScript的标准方法,兼容性拉满,不需要任何额外库。
  2. 监听事件:给第三个复选框添加change事件监听器,只要它的勾选状态发生变化,就会触发回调函数。
  3. 联动逻辑:在回调里判断当前复选框是否被勾选(this.checked),如果是,就把前两个复选框的checked属性设为true,实现自动勾选。

注意事项

如果你的复选框id和示例不一样,只需要把代码里的html1html2html3替换成你实际的id即可,完全不影响功能。

内容的提问来源于stack exchange,提问作者Rik Rödel

火山引擎 最新活动