Javascript jquery从JSON数组中的选择框收集所有选项值

Javascript jquery从JSON数组中的选择框收集所有选项值,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有一个选择框 <select id='x'> <option value='1'>'Vineet'</option> <option value='2'>'Vivek'</option> <option value='3'>'Madhu'</option> </select> 在firebug中,它给出以下错误: 属性列表后缺少} 但是我没有看到任何丢失的}。我在这里做错了

我有一个选择框

<select id='x'>
    <option value='1'>'Vineet'</option>
    <option value='2'>'Vivek'</option>
    <option value='3'>'Madhu'</option>
</select>
在firebug中,它给出以下错误:

属性列表后缺少}


但是我没有看到任何丢失的}。我在这里做错了什么?

您需要遍历select中的每个选项元素,而不仅仅是select本身,而且获取jQuery中输入值的正确方法是val,请尝试以下操作:

myList = [];
$('#x option').each(function() {
    myList.push($(this).val())
});
您还可以使用地图:


在这两种情况下,myList变量都将包含一个字符串数组。

尝试jQuery函数获取jQuery对象中包装的元素的值是.val,而不是.value-这可能会引起一些混淆,尽管我不能确定

作为旁注,您的选择器与您想要的不符。$'x'将返回id为x的所有元素(应该只有一个元素),然后。每个元素将迭代该元素集,以便调用函数一次。您将得到一个包含单个值的数组,该值将是当前选定的输入值


相反,请使用$'x>选项,它将返回id为x的元素的所有直接子元素。

是否在每个值后添加一个“,”?在$this.val的任何值中都没有逗号,而不是$this.values。此外,如果我必须获得every的类,类似这样的操作是否有效?-$”如果一个元素分配了多个类怎么办?例如class=myBold myLargeFont myGreen-查看jquery的attr:-同时查看.hasglass您得到了什么错误?你确定你试过了那个精确的解决方案吗?正如你从小提琴上看到的,它确实有效。我的错在那里。我只提供了“x”而不是“x选项”。现在它成功了。谢谢Rory,在你建议的更正后,它起作用了。谢谢你,安东尼。亲爱的安东尼,你和罗尼给出的答案是一样的,这也难怪。在接受答案时,由于只能接受一个答案,所以我选择了第一个。但同样的荣誉属于你。谢谢。如果我必须得到每一个学生的班级,扩展这个,这样做行吗?-$'“x选项”类
myList = [];
$('#x option').each(function() {
    myList.push($(this).val())
});
var myList = $('#x option').map(function() {
    return this.value;
}).get();