所以我看到每个人都说要在多选元素中输出所选选项的值,应该使用类似下面的$('#selid :selected').val()
之类的东西,在这种情况下,val()将返回一个值数组。好吧,我不能复制这种行为。据我所知,这样的代码只返回第一个选定的值。 Here's a quick jsfiddle snippet that demonstrates that
请注意,使用每个迭代$('#selid :selected')
确实有效,但就我所知,在该数组上调用val()不会产生值数组。实际上,调用$('#selid :selected').val().each(...
会导致错误消息。
那么,我做错了什么或者这个行为在某些时候被改变了?
答案 0 :(得分:1)
“在这种情况下,val()将返回一个值数组。好吧,我无法复制这种行为。”
您永远不需要使用:selected
来获取<select>
的值。这就足够了:
$('#selid').val()
答案 1 :(得分:1)
val
函数获取匹配元素集中 first 元素的值。要获得多个所选项目的值,在使用:selected
选择器时,您需要遍历该集合,正如您在问题中提到的那样。
有关详情,请参阅val()
的{{3}}。