如何将所选“选项”的值变为“A”和“B”?

时间:2014-01-28 06:12:27

标签: jquery json select

<select id="A" multiple='multiple'>
    <option value="1"></option>
    <option value="2"></option>
    <option value="3"></option>
</select>
<select id="B" multiple='multiple'>
    <option value="4"></option>
    <option value="5"></option>
    <option value="6"></option>
</select>

选项是动态的,所以我无法为它们设置ID。 之后,我该如何获得一个JSON对象,如:

{ A: [value:1,value:3] , B : [value:4] }?

2 个答案:

答案 0 :(得分:3)

如果有多个选项,$.fn.val()将返回一个数组:

  

对于<select multiple="multiple">元素,.val()方法返回一个包含每个选定选项的数组;如果未选择任何选项,则返回null。

所以,基本上就是这样:

var data = {
    A: $('#A').val() || [],
    B: $('#B').val() || []
}

由于可能有null返回值,我添加了|| []强制转换以将结果转换为空数组。

答案 1 :(得分:1)

只需使用

$('#A').val(); and $('#B').val();

<强> Working Fiddle