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()
来获取选项的value
或text
属性。
(注意$.map()
行为与$(element).map()
略有不同。可能有点棘手。)