jquery获取所有下拉值

时间:2010-10-13 12:56:48

标签: javascript jquery

我的标识为<select>的下拉列my_dropdown。我允许多选。我知道如何使用jquery拉取所选值:

var values = $('#my_dropdown').val();

如果我选择多个,这将返回一个值数组。无论选择什么,我还需要在下拉列表中获取所有值。我怎样才能使用jquery来获取给定id的下拉列表中的所有值?

3 个答案:

答案 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()返回一个数组,以获取选项的valuetext属性。

(请注意,$.map()$(element).map()的行为略有不同。可能有点棘手。)