Javascript 获取所有下拉列表值的jquery

Javascript 获取所有下拉列表值的jquery,javascript,jquery,Javascript,Jquery,我有id为my_下拉列表的下拉列表。我允许多选。我知道如何使用jquery提取所选值: var values = $('#my_dropdown').val(); 如果我选择多个,这将返回一个值数组。我还需要获得下拉列表中的所有值,无论选择了什么。如何使用jquery类似地获取给定id的下拉列表中的所有值 var values = []; $('#my_dropdown option').each(function() { values.push( $(this).attr('val

我有id为my_下拉列表的下拉列表
。我允许多选。我知道如何使用jquery提取所选值:

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

如果我选择多个,这将返回一个值数组。我还需要获得下拉列表中的所有值,无论选择了什么。如何使用jquery类似地获取给定id的下拉列表中的所有值

var values = [];
$('#my_dropdown option').each(function() { 
    values.push( $(this).attr('value') );
});
看起来像:

var values = $('#my_dropdown').children('option').map(function(i, e){
    return e.value || e.innerText;
}).get();
请看这一行动:


参考资料:

示例:

元素的
属性中有一个选项列表。然后,返回一个数组,以获取选项的
文本
属性


(请注意,
$.map()
的行为与
$(element.map()
的行为稍有不同。)

返回e.value;(如果您想要值而不是显示的文本)否则,这是一个很好的解决方案+1我总是忘记
映射
功能+1如果没有值,我喜欢返回文本:p@John-是的,对于IE6是必需的,或者如果由于某种原因,
是空字符串。否则,如果不存在
属性,大多数浏览器将为您提供
文本
var opts = $('#my_dropdown')[0].options;

var array = $.map(opts, function( elem ) {
    return (elem.value || elem.text);
});