jquery获取所有下拉值

我有一个id为my_dropdown下拉列表 。 我允许多选。 我知道如何使用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(); 

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

参考: .map()

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

 var opts = $('#my_dropdown')[0].options; var array = $.map(opts, function( elem ) { return (elem.value || elem.text); }); 

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

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