当前位置:首页 > JavaScript

js 实现多选

2026-01-31 15:06:21JavaScript

实现多选的 JavaScript 方法

使用 HTML 的 multiple 属性

通过 <select> 标签的 multiple 属性可以实现多选功能。用户按住 CtrlCommand 键点击选项即可多选。

<select multiple>
  <option value="1">选项1</option>
  <option value="2">选项2</option>
  <option value="3">选项3</option>
</select>

使用复选框(Checkbox)

通过一组复选框实现多选,用户可以自由选择多个选项。

<input type="checkbox" name="option" value="1"> 选项1
<input type="checkbox" name="option" value="2"> 选项2
<input type="checkbox" name="option" value="3"> 选项3

获取选中的值

通过 JavaScript 获取用户选中的值。

对于 <select multiple>

js 实现多选

const selectElement = document.querySelector('select[multiple]');
const selectedValues = Array.from(selectElement.selectedOptions).map(option => option.value);
console.log(selectedValues);

对于复选框:

const checkboxes = document.querySelectorAll('input[name="option"]:checked');
const selectedValues = Array.from(checkboxes).map(checkbox => checkbox.value);
console.log(selectedValues);

动态添加多选功能

可以通过 JavaScript 动态创建多选元素并绑定事件。

js 实现多选

const container = document.getElementById('checkbox-container');
const options = ['选项1', '选项2', '选项3'];

options.forEach(option => {
  const checkbox = document.createElement('input');
  checkbox.type = 'checkbox';
  checkbox.name = 'dynamic-option';
  checkbox.value = option;

  const label = document.createElement('label');
  label.textContent = option;

  container.appendChild(checkbox);
  container.appendChild(label);
  container.appendChild(document.createElement('br'));
});

使用第三方库

可以使用第三方库如 Select2Choices.js 实现更丰富的多选功能。

Select2 示例:

<select class="js-example-basic-multiple" multiple>
  <option value="1">选项1</option>
  <option value="2">选项2</option>
</select>

<script>
$(document).ready(function() {
  $('.js-example-basic-multiple').select2();
});
</script>

事件监听

为多选元素添加事件监听,实时获取用户选择。

document.querySelector('select[multiple]').addEventListener('change', function() {
  const selected = Array.from(this.selectedOptions).map(option => option.value);
  console.log('当前选中:', selected);
});

通过这些方法可以灵活实现多选功能,适用于表单、配置选项等场景。

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

相关文章

vue多选实现

vue多选实现

Vue 多选实现方法 基础实现(v-model + multiple) 在 Vue 中实现多选可以通过 <select> 元素的 multiple 属性结合 v-model 完成。v-mo…

vue 实现多选框

vue 实现多选框

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

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

jquery.js

jquery.js

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

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…