我有一个多元素,如下所示:
<select id="mySelect" multiple>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
我想遍历这个多选列表,并读取所有选项的值。我在另一个页面上有这个JQuery,它遍历多选元素中的所有选定选项,如下所示:
$('#mySelect option:selected').each(function(){ ... });
我如何修改上面的语句,使.each将逐个返回所有选项,而不是仅返回已选择的选项?
我试过这些:
$('#mySelect option').each(function(){ ... });
$('#mySelect option').children().each(function(){ ... });
$('#mySelect option').children(function(){ ... });
$('#mySelect > option').each(function(){ ... });
但都没有奏效。
编辑:对不起,大家错别字是我在这里的第一句话,然后我把它复制/粘贴了4倍。在我实际的代码中,#是存在的,但它不起作用。
UGGHHH LOL错误不是我的JQuery,而是我的html选择元素。我使用的是name属性而不是id。
您的选择器缺少#
:
$('#mySelect option').each(function(){ ... });
^
如果没有#
,则查找<mySelect>
元素。
可能您缺少ready function
,如:
现场演示
$(function(){ // DOM is ready
var myOptions = [] ;
$('#mySelect option').each(function(){
myOptions.push( this.value );
});
alert( myOptions ); // 1,2,3
});
将其更改为:
$('#mySelect option')
现在你有这样的:
$('mySelect option')
其正在寻找类型为CCD_ 5的元素。#指定您正在匹配ID