我很惊讶我在网上找不到这个代码!
如何访问选择列表中的所有选定索引?不只是第一个?
HTML:
<select name="trends[]" multiple="multiple" id="trends" size="35"></select>
JS:
function moveSelectedTrends()
{
var selectedTrends = document.getElementById('trends');
for(var i=0; i < selectedTrends.length; i++)
{
alert(selectedTrends.options[selectedTrends.selectedIndex].value) //ONLY returns the first selected element!
}
}
答案 0 :(得分:14)
使用i
代替selectedTrends.selectedIndex
,并测试它是selected
。
function moveSelectedTrends() {
var trends = document.getElementById('trends'), trend, i;
for(i = 0; i < trends.length; i++) {
trend = trends[i];
if (trend.selected) {
alert(trend.value);
}
}
}
答案 1 :(得分:10)
避免循环的一种简单方法是QSA:
[].forEach.call( document.querySelectorAll('#trends :checked') , function(elm){
alert(elm.value);
})
:选中的选择器足够聪明,可以用于&lt;选择&gt;菜单...