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

Vin*_*eet 7 html javascript jquery json

我有一个选择框.

<select id='x'>
    <option value='1'>'Vineet'</option>
    <option value='2'>'Vivek'</option>
    <option value='3'>'Madhu'</option>
</select>
Run Code Online (Sandbox Code Playgroud)

选项会动态添加到其中.最后,我想将此选择框中包含的所有选项元素的值收集到一个数组中.我在论坛上搜索了答案,但Q/A仅用于获取"选定"选项.

我试过这个:

var myList = [];
$('#x').each(function() { myList.push( $(this).value() ) });
Run Code Online (Sandbox Code Playgroud)

在firebug中,它给出了这个错误:

在属性列表之后丢失}

但我没有看到任何失踪}.我在这做错了什么?

Ror*_*san 14

你需要循环遍历optionselect中的每个元素,而不仅仅是select本身,同样,在jQuery中获取输入值的正确方法是val(),试试这个:

myList = [];
$('#x option').each(function() {
    myList.push($(this).val())
});
Run Code Online (Sandbox Code Playgroud)

示例小提琴

您还可以使用map():

var myList = $('#x option').map(function() {
    return this.value;
}).get();
Run Code Online (Sandbox Code Playgroud)

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