JQuery:遍历所有<选项>多个<选择>要素



我有一个多元素,如下所示:

<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

最新更新