You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅用HTML、CSS、SCSS和Bootstrap4实现一键全选复选框

仅用HTML/CSS/Bootstrap4实现复选框恢复默认选中状态

你需要让多个默认选中的开关复选框,通过按钮一键恢复到全部选中的初始状态,且不能用JavaScript,这里可以利用HTML表单的原生reset功能来实现,完全符合你的技术栈要求,具体实现如下:

修改后的完整代码

HTML部分

<form>
  <div class="welcome-left-btn">
    <label class="switch">
      <input type="checkbox" name="chk" checked>
      <span class="slider round"></span>
    </label>
  </div>
  
  <div class="welcome-left-btn">
    <label class="switch">
      <input type="checkbox" name="chk" checked>
      <span class="slider round"></span>
    </label>
  </div>

  <button id="defaultbtn" class="btn" type="reset">恢复默认</button>
</form>

CSS部分(保留你原有的样式,无需修改)

.switch {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 23px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 19px;
  width: 19px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #3861fb;
}

input:focus + .slider {
  box-shadow: 0 0 1px #3861fb;
}

input:checked + .slider:before {
  -webkit-transform: translateX(17px);
  -ms-transform: translateX(17px);
  transform: translateX(17px);
}
.slider.round {
  border-radius: 25px;
}

.slider.round:before {
  border-radius: 50%;
}

关键修改说明

  • 把所有复选框和按钮包裹在<form>标签内:HTML表单的reset功能只会作用于表单内部的表单控件
  • 将按钮的type从submit改为reset:type="reset"的按钮点击后会自动把表单内所有控件恢复到初始状态,也就是你设置的checked默认选中状态
  • 保留复选框的checked属性:这是控件的初始状态,重置时会回到这个状态

这样无论你手动取消了多少个复选框,点击“恢复默认”按钮后,所有复选框都会立刻回到默认的选中状态,完全不需要JavaScript。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 19:57:25