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

标签 javascript jquery html json

我有一个选择框。

<select id='x'>
    <option value='1'>'Vineet'</option>
    <option value='2'>'Vivek'</option>
    <option value='3'>'Madhu'</option>
</select>

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

我试过这个:

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

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

missing } after property list

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

最佳答案

您需要遍历 select 中的每个 option 元素,而不仅仅是 select 本身,此外,在 jQuery 中获取输入值的正确方法是 val(),试试这个:

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

Example fiddle

你也可以使用map():

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

// A version of the above in ES6 (note: unsupported in IE)
let myList = $('#x option').map((i, el) => el.value).get();

在上述所有情况下,myList 变量将包含一个字符串数组。

关于javascript - jquery 从 JSON 数组中的选择框中收集所有选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258080/

相关文章:

javascript - 使用 Jquery 确定语言切换

javascript - 为什么没有调用我的 ember.js 路由模型?

html - @font-face 在其他电脑上不工作

javascript - 构建 jQuery 插件

html - 如果在正文中使用 IE CSS?

html - Webkit 验证气泡的行为就像它在 Chrome 上的固定位置一样

javascript - 检测用户滚动了多少

javascript - 使用下划线模板从另一个函数 jQuery 内部调用的事件不起作用

jQuery insertAfter 不起作用

javascript - 如何在单个变量名称中获取多个 url 值