当前位置:首页 > JavaScript

js实现多选

2026-03-02 07:02:00JavaScript

实现多选的 JavaScript 方法

HTML 结构示例 创建一个包含多选框的表单,确保每个复选框有相同的 name 属性以实现分组:

<form id="multiSelectForm">
  <input type="checkbox" name="options" value="option1"> Option 1<br>
  <input type="checkbox" name="options" value="option2"> Option 2<br>
  <input type="checkbox" name="options" value="option3"> Option 3<br>
  <button type="button" onclick="getSelectedOptions()">提交</button>
</form>

获取选中值的方法 通过 querySelectorAll 筛选被选中的复选框,并提取其值:

function getSelectedOptions() {
  const checkboxes = document.querySelectorAll('input[name="options"]:checked');
  const selectedValues = Array.from(checkboxes).map(checkbox => checkbox.value);
  console.log(selectedValues); // 输出如 ["option1", "option3"]
}

全选/反选功能 添加一个控制所有复选框的按钮:

<button type="button" onclick="toggleAll()">全选/反选</button>

对应的 JavaScript 代码:

function toggleAll() {
  const checkboxes = document.querySelectorAll('input[name="options"]');
  const isAnyUnchecked = Array.from(checkboxes).some(checkbox => !checkbox.checked);
  checkboxes.forEach(checkbox => {
    checkbox.checked = isAnyUnchecked;
  });
}

事件监听优化 使用事件委托监听复选框变化,避免为每个复选框单独绑定事件:

document.getElementById('multiSelectForm').addEventListener('change', function(event) {
  if (event.target.type === 'checkbox') {
    console.log('选项状态变化:', event.target.value, event.target.checked);
  }
});

注意事项

js实现多选

  • 移动端适配可能需要额外样式处理,如增大点击区域。
  • 表单提交时需阻止默认行为(event.preventDefault())以避免页面刷新。
  • 若使用框架(如 React/Vue),建议使用框架提供的状态管理方式。

标签: 多选js
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

vue 实现多选框

vue 实现多选框

实现多选框的基础用法 在Vue中可以使用v-model指令绑定到数组类型的数据,实现多选框功能。基础示例代码如下: <template> <div> <in…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…