当前位置:首页 > JavaScript

js实现单选多选

2026-03-15 21:28:43JavaScript

实现单选功能

在HTML中创建单选按钮组,确保同一组的name属性相同。通过JavaScript监听change事件获取选中值。

<input type="radio" name="gender" value="male"> Male
<input type="radio" name="gender" value="female"> Female
document.querySelectorAll('input[name="gender"]').forEach(radio => {
  radio.addEventListener('change', function() {
    if (this.checked) {
      console.log('Selected:', this.value);
    }
  });
});

实现多选功能

使用checkbox类型输入元素,通过JavaScript获取所有被选中的值。

<input type="checkbox" name="fruit" value="apple"> Apple
<input type="checkbox" name="fruit" value="banana"> Banana
<input type="checkbox" name="fruit" value="orange"> Orange
document.querySelector('button').addEventListener('click', function() {
  const selected = [];
  document.querySelectorAll('input[name="fruit"]:checked').forEach(checkbox => {
    selected.push(checkbox.value);
  });
  console.log('Selected:', selected);
});

使用事件委托优化性能

为父元素添加单个事件监听器处理所有单选/多选事件,适合动态生成的选项。

document.getElementById('radioGroup').addEventListener('change', function(e) {
  if (e.target.type === 'radio') {
    console.log('Radio selected:', e.target.value);
  }
});

表单提交处理

在表单提交时收集所有选择结果,可通过FormDataAPI简化操作。

document.getElementById('myForm').addEventListener('submit', function(e) {
  e.preventDefault();
  const formData = new FormData(this);

  // 获取单选值
  const gender = formData.get('gender');

  // 获取多选值数组
  const fruits = formData.getAll('fruit');

  console.log({gender, fruits});
});

动态生成选项

通过JavaScript动态创建单选/多选按钮并绑定事件。

js实现单选多选

const options = ['Red', 'Green', 'Blue'];
const container = document.getElementById('colorOptions');

options.forEach(color => {
  const checkbox = document.createElement('input');
  checkbox.type = 'checkbox';
  checkbox.name = 'colors';
  checkbox.value = color.toLowerCase();

  const label = document.createElement('label');
  label.appendChild(checkbox);
  label.appendChild(document.createTextNode(color));

  container.appendChild(label);
});

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

相关文章

vue 实现多选框

vue 实现多选框

Vue 实现多选框的方法 使用 v-model 绑定数组 在 Vue 中,可以通过 v-model 绑定一个数组来实现多选框的选择功能。每个复选框的 value 属性会被添加到数组中,取消勾选时则从数…

vue 实现表格单选

vue 实现表格单选

实现表格单选的基本思路 在Vue中实现表格单选功能,通常需要结合表格组件(如el-table)和数据绑定。核心逻辑是通过点击事件更新当前选中行的唯一标识(如id),并通过:class或:style绑定…

vue如何实现单选

vue如何实现单选

使用原生 HTML 单选按钮 在 Vue 中可以直接使用 HTML 的原生单选按钮,通过 v-model 绑定数据。 <template> <div>…

vue实现单选按钮

vue实现单选按钮

实现单选按钮的基本方法 在Vue中实现单选按钮通常使用v-model指令绑定数据,结合input元素的type="radio"属性。以下是一个基础示例: <template> <…

Vue实现级联多选

Vue实现级联多选

Vue 实现级联多选的方法 使用 Element UI 的 Cascader 组件 Element UI 提供了 el-cascader 组件,支持多选功能。通过设置 props 的 multiple…

vue 实现单选全选

vue 实现单选全选

实现单选和全选功能 在Vue中实现单选和全选功能,可以通过v-model指令绑定数据,结合计算属性和方法来实现交互逻辑。以下是一个完整的实现方案。 基础数据结构 定义列表数据,每个数据项包含选中状态…