2015-02-10 41 views
6

對於使用jQuery here從下拉列表中獲取選定值的問題,已經存在很多問題。獲取列表框中選定值的列表

這個答案几乎適用於列表框,但是如果選擇了多個值,則結果是一個單個字符串,並且所有值都連接在一起。這沒有用。我需要每個選定選項的文本值的集合(列表,數組,任何)。

目前我想我會用另一個問題的答案,但最後沒有.text(),然後迭代通過匹配。更好的想法?

回答

10

通過迭代循環,您可以選取多個選定的文本,如下所述。

$('#f1').click(function(){  
    var rr = []; 
    $('.selectpicker :selected').each(function(i, selected){ 
     rr[i] = $(selected).text(); 
    }); 
    alert(rr); 
}); 

或者如果你想使用它的然後簡單地寫。

$('.selectpicker').val(); 

Demo

+0

是的,它會從你的下拉列表中所有選中的選項。 – Sadikhasan 2015-02-10 04:30:35

+0

只需使用.val就能得到我想要的東西,因爲在這種情況下,每個選項的文本和值都是相同的 – DCShannon 2015-02-10 04:38:29

+0

有時.val()返回字符串數組,這是我想要的,其他時間返回一個DispHTMLOptionElement數組。似乎是隨機的。 – DCShannon 2015-02-10 04:50:53

1

您可以如下使用:

var selectedVal= []; 
$('#multiple :selected').each(function(i, selected){ 
    selectedVal[i] = $(selected).text(); 
    alert(selectedVal[i]); 
}); 

Here is Tutorial and example

+1

upvote爲教程,但解決方案的其餘部分是相同的已發佈 – DCShannon 2015-02-10 04:36:46

+0

亞..我認爲這是得到選定的價值的方式。希望你有解決辦法。 – 2015-02-10 04:39:09