通过jquery获取多个选择框的值

时间:2010-03-15 14:48:31

标签: javascript jquery arrays drop-down-menu

我想在javascript中填充一个数组,该数组从不同的选择框中获取具有相同名称的所有值

所以例如,如果我有这样的HTML:

<select name="selectbox[]">
<option value="value1">text1</option>
<option value="value2">text2</option>
</select>

<select name="selectbox[]">
<option value="value1">text1</option>
<option value="value2">text2</option>
</select>

我必须获取两个选择框的选定值并将其放入数组中。

我做了什么:

 $("input[name=selectbox\\[\\]]").map(function(){return $(this).val();});

不起作用。

一个类似的例子 适用于文本框:

$("input[name=textbox\\[\\]]").map(function(){return this.value;});

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

也许是因为它是select而不是input ??

var $select = $("<select multiple='multiple' />");
for (var x=0; x<3; x++) {
  $select.append("<option value='"+x+"' selected='selected'>"+x+"</option>");
}
console.log($select.val());
//  ["0", "1", "2"]
console.log($select.map(function() { return $(this).val() }));
//  jQuery("0", "1", "2")

// create a second select:
$select = $select.clone(true).andSelf();
console.log($select.map(function() { return $(this).val() }));
//  jQuery("0", "1", "2", "0", "1", "2")