我有这个HTML:
<form name='formName'>
<select name='selectName' size='3' multiple='yes'>
<option value='1'>Option 1</option>
<option value='2'>Option 2</option>
<option value='3'>Option 3</option>
</select>
</br>
<input type='submit' value='Go!' onclick='getSelect()'></input>
</form>
我想在JavaScript 中检索选定的值(不使用像jQuery这样的框架)。
我目前的JavaScript是:
function getSelect() {
var UserSelect1 = document.formName.selectName.value;
alert(UserSelect1);
}
但它似乎不起作用。只选择一个选项,它可以正常工作,但如果选择了多个选项,它只返回最高选项。如何检索所有选定的选项?
谢谢!
答案 0 :(得分:1)
而不是访问value
,而这似乎只返回所选的第一个项目,而是可以反复遍历选项并检查它们是否被选中。如果选择了该项,请将其索引添加到数组中。因此,请将getSelect()
更改为以下内容:
function getSelect() {
var selectedItems = [];
for (var i = 0; i < document.formName.selectName.length; i++){
if (document.formName.selectName[i].selected){
selectedItems.push(i);
}
}
alert(selectedItems);
}
这里是JSFiddle,因此您可以尝试修改后的代码。
希望这有帮助!如果您有任何问题,请告诉我。
答案 1 :(得分:0)
更改此行:
<select name='selectName' size='3' multiple='yes'>
到
<select name='selectName[]' size='3' multiple>