2013-07-26 36 views
0

所以我讀了關於這個問題的其他問題,我似乎無法得到它的工作。 我有這樣的HTML:多選擇,嘗試val(),無法獲得值

<select name="filter" id="filter" multiple="multiple" data-native-menu="false"> 
    <option>Choose Filter</option> 
    <option value="Matt"> Matt</option> 
    <option value="Brian"> Brian </option> 
    </select> 

然而,使用此代碼:

$("#filter").val() 

返回我一個空字符串,即使選擇選項。

+0

大聲笑你知道這是一個簡單的解決方案,當4答案立即彈出。爲了記錄,如果你需要他們,使用我的建議也可以獲取html換行符。 – Lopsided

回答

3
$('#filter').change(function(){ 
    var selectedValues = $(this).find('option:selected').map(function(){ 
          return this.value; 
         }).get(); 
    console.log(selectedValues); 
}); 

JS Fiddle demo

參考文獻:

+0

這工作就像一個魅力!謝啦!!!! – Jivex5k

+0

我絕對高興;我很高興得到了幫助! =) –

-1

試試這個

$("#filter option:selected").val(); 
+0

嗯,這將只會返回最上面的選定的值,當兩者都被選中。 – Jivex5k

0

試試這個。

$('option:selected','#filter').html() 
+0

這將返回HTML內容,而不是選項值。在他的例子中,他們碰巧是一樣的,但他們通常不是。 – Barmar

+0

@barmar其實好點。我只看了他的寫作。當我需要捕獲HTML回車時,經常使用.html()。但val html文本innerHTM等...使用任何。 – Lopsided