获取多选下拉列表的 selectedIndex

sup*_*ize 3 html javascript

我有一个 HTML 选择下拉列表,其中multiple提供了:

<select multiple id="mySelect">
  <option>Apple</option>
  <option>Orange</option>
  <option>Pineapple</option>
  <option>Banana</option>
</select>
Run Code Online (Sandbox Code Playgroud)

并分配一个单击处理程序,该处理程序返回当前单击的元素的索引:

document.getElementById("mySelect").onclick = function() {
  alert(this.selectedIndex);
}
Run Code Online (Sandbox Code Playgroud)

当我仅选择其中一个元素时,效果很好。但我想返回当前选择的所有索引。

当我点击Apple, Orange and Banana返回时,就像[0,1,3]我想要的那样,但它不起作用。

工作示例:JSfiddle

Dar*_*yll 5

该selectedOptions有一个浏览器 API ,但不支持 IE。

document.getElementById("mySelect").onclick = function() {
  console.log(Array.from(this.selectedOptions).map(option => option.index))
}
Run Code Online (Sandbox Code Playgroud)
<select multiple id="mySelect">
  <option>Apple</option>
  <option>Orange</option>
  <option>Pineapple</option>
  <option>Banana</option>
</select>
Run Code Online (Sandbox Code Playgroud)