我的标识为<select>
的下拉列my_dropdown
。我允许多选。我知道如何使用jquery拉取所选值:
var values = $('#my_dropdown').val();
如果我选择多个,这将返回一个值数组。无论选择什么,我还需要在下拉列表中获取所有值。我怎样才能使用jquery来获取给定id的下拉列表中的所有值?
答案 0 :(得分:34)
如下:
var values = [];
$('#my_dropdown option').each(function() {
values.push( $(this).attr('value') );
});
答案 1 :(得分:7)
看起来像:
var values = $('#my_dropdown').children('option').map(function(i, e){
return e.value || e.innerText;
}).get();
请参阅此操作:http://www.jsfiddle.net/YjC6y/16/
参考:.map()
答案 2 :(得分:4)
示例: http://jsfiddle.net/FadHu/
var opts = $('#my_dropdown')[0].options;
var array = $.map(opts, function( elem ) {
return (elem.value || elem.text);
});
<select>
元素的options
属性中包含选项列表。然后use $.map()
返回一个数组,以获取选项的value
或text
属性。
(请注意,$.map()
与$(element).map()
的行为略有不同。可能有点棘手。)