问题描述
我正在使用对CSS进行材料化的 multiple select 来选择多个值。用户界面工作正常,但是我找不到一种方法来检索所有选定的值。我使用了onChange事件处理程序来检索值。但是,它不是返回选定值的数组,而是仅返回列表中的第一个选定值。
有人可以通过 JavaScript 解释一下如何进行简单的多项选择,例如下面的选择吗? (不使用jQuery )
<select id='mySelect' multiple>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
解决方法
您可以通过以下方式获取所选内容:
html:
<select multiple id="option-select">
<option value="" disabled selected>Choose your option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<label>Materialize Multiple Select</label>
js
document.addEventListener("DOMContentLoaded",function () {
const selects = document.querySelector("select");
const instances = M.FormSelect.init(selects,{});
const selectOption = document.querySelector("#option-select");
selectOption.addEventListener("change",function () {
const instance = M.FormSelect.getInstance(selectOption);
const selectedValues = instance.getSelectedValues();
console.log(selectedValues);
});
});