在没有jQuery的情况下获取多项选择的所有选项
Posted
技术标签:
【中文标题】在没有jQuery的情况下获取多项选择的所有选项【英文标题】:get all the options selected of a multiple select without jQuery 【发布时间】:2014-03-05 11:04:52 【问题描述】:我想在提交表单时取回多选中的所有选项。
喜欢:
<select id="multipleSelect" multiple="multiple">
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
使用类似的东西:
var selectedValues = document.getElementbyId('multipleSelect).values;
并获得一个数组,其中包含所有选择的值,例如 ['2','3']
所有这些,没有 jQuery 并且在 js 或 php 中都可以:)
谢谢!
【问题讨论】:
lulz,我知道 :) 我试过document.getElementbyId('multipleSelect).value
,但我只得到 1 个选项(即使我选择了更多)......我用 foreach ($_GET['selectid'] as $selectedOption)
尝试了一些东西,但没有用.. .我只是在jquery中搜索.val()
之类的东西,但只在js中......
@Crocsx 服务器端 =/=
客户端
缺少关闭'
,这里是value
getElementbyId('multipleSelect).values;
我知道它的价值 ^^ 但它只返回 1 个选项,所以我写了 s 来说明我正在寻找能够提供价值的东西
【参考方案1】:
var options = document.getElementById('multipleSelect').options,
result = [];
for (var i = 0, len = options.length; i < len; i++)
var opt = options[i];
if (opt.selected)
result.push(opt.value);
console.log(result);
演示: http://jsfiddle.net/AH2yK/
【讨论】:
【参考方案2】:你可以这样试试,
var options = document.getElementById('multipleSelect').options;
var values = [];
var i = 0, len = options.length;
while (i < len)
if(options[i].selected)
values.push(options[i].value);
i++;
alert(values.join(', '));
【讨论】:
以上是关于在没有jQuery的情况下获取多项选择的所有选项的主要内容,如果未能解决你的问题,请参考以下文章