原生js select 多选
时间: 2024-09-02 08:01:29 浏览: 41
在JavaScript中,原生`<select>`元素默认只能单选,如果你想要创建一个多选框(Multiple Selection),你可以采用一些技巧或者借助第三方库来实现。以下是一种基本的手动实现方法:
```html
<select multiple>
<option value="1">选项1</option>
<option value="2">选项2</option>
<option value="3">选项3</option>
<!-- 更多选项... -->
</select>
<script>
// JavaScript部分用于获取选择项并操作
var selects = document.querySelectorAll('select[multiple]');
selects.forEach(function(select) {
select.addEventListener('change', function() {
// 当多选框发生变化时,这里可以获取用户的选择
var selectedOptions = Array.from(select.options).filter(function(option) { return option.selected; });
console.log('用户选择了:', selectedOptions.map(function(option) { return option.value; }));
});
});
</script>
```
在这个例子中,我们添加了`multiple`属性到`<select>`标签,使得它变为一个多选框。然后通过`addEventListener`监听`change`事件,每当用户做出选择时,就会触发回调函数,获取并处理已选中的选项。
请注意,现代浏览器通常提供了更完善的API,比如`HTMLSelectElement`的`elements`属性可以直接返回所有选中的选项。然而,上述代码适用于较老的浏览器版本。
阅读全文