jquery获取所有下拉值

bba*_*bba 27 javascript jquery

我有<select>id 下拉列表my_dropdown.我允许多选.我知道如何使用jquery拉取选定的值:

var values = $('#my_dropdown').val();
Run Code Online (Sandbox Code Playgroud)

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

Vot*_*ple 34

怎么样的:

var values = [];
$('#my_dropdown option').each(function() { 
    values.push( $(this).attr('value') );
});
Run Code Online (Sandbox Code Playgroud)


jAn*_*ndy 8

好像:

var values = $('#my_dropdown').children('option').map(function(i, e){
    return e.value || e.innerText;
}).get();
Run Code Online (Sandbox Code Playgroud)

请参阅此操作:http://www.jsfiddle.net/YjC6y/16/

参考:.map()


use*_*716 5

示例: http : //jsfiddle.net/FadHu/

var opts = $('#my_dropdown')[0].options;

var array = $.map(opts, function( elem ) {
    return (elem.value || elem.text);
});
Run Code Online (Sandbox Code Playgroud)

<select>元素在其options属性中有一个选项列表。然后使用$.map()返回一个数组的 来获取选项valuetext属性。

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