我有下拉<select>
與編號my_dropdown
。我允許多選。我知道如何拉使用jQuery選擇值(S):jquery獲取所有下拉值
var values = $('#my_dropdown').val();
,如果我選擇了多個這將返回值的數組。無論選擇什麼內容,我還需要獲取下拉列表中的所有值。我如何使用jquery類似地獲取所有在給定的id下拉列表中的值?
我有下拉<select>
與編號my_dropdown
。我允許多選。我知道如何拉使用jQuery選擇值(S):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()
return e.value; (如果你想要的值而不是顯示文本)否則,這是一個很好的解決方案! +1 – 2010-10-13 13:10:17
我總是忘記'map'函數+1 – 2010-10-13 13:27:49
var opts = $('#my_dropdown')[0].options;
var array = $.map(opts, function(elem) {
return (elem.value || elem.text);
});
的<select>
元件具有在其options
屬性選項列表。然後use $.map()
返回一個數組,以獲得選項的value
或text
屬性。
(注意$.map()
表現有點不同於$(element).map()
。可有點棘手。)
如果沒有任何值,我喜歡回退到文本:p – 2010-10-13 13:15:29
@John - 是的,對於IE6是必需的,或者由於某種原因'value'是一個空字符串。否則,如果不存在'value'屬性,大多數瀏覽器會給你'text'。 – user113716 2010-10-13 13:21:34
在http://stackoverflow.com/questions/590163/how-to-get-all找到更好的解決辦法-options-of-a-select-using-jquery – 2016-03-10 12:48:45