当前位置:首页 > 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
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callback) {…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js分组实现

js分组实现

分组实现方法 在JavaScript中,可以通过多种方式实现数组或对象的分组操作。以下是几种常见的方法: 使用Array.prototype.reduce() 通过reduce方法可以轻松实现数组分…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js图片轮播的实现

js图片轮播的实现

基础图片轮播实现 使用HTML、CSS和JavaScript实现一个简单的图片轮播效果。HTML部分定义轮播容器和图片,CSS负责样式和过渡效果,JavaScript处理逻辑。 <div cl…