2011-06-30 143 views
2

我用get()方法來檢索第一選擇下拉頁面上像這樣:確定使用get(後使用jQuery)選擇的選項來檢索選擇

styleSelect = jQuery('select').get(0); 

而且我可以做正常的事情一樣

jQuery(styleSelect).remove(); 

刪除選擇,但我無法找到正確的語法來獲取當前選定的選項的文本。我試過了:

jQuery(styleSelect, ':selected').text(); 

和這個的一些變化,我想我只是在這裏失去了一些愚蠢的東西。

回答

0

使用第一選擇,那麼上下文選項的值:

jQuery(':selected',styleSelect).text(); 

matchew的建議也可以工作,但只有當您未設置<option>的 的值屬性時(如果設置值屬性,您將獲得所選選項的值而不是文本)

+0

正是我一直在尋找謝謝! – matt

3
jQuery('select').val() 

應返回當前選定元素的值。

雖然,這確實會返回值。返回文本很少見。

你可以用類似下面這樣做:)

jQuery('#test').change(function() { 
    //get text(), change to .val() to get value 
    var value = jQuery(':selected', this).text(); 
    //insert value 
    jQuery('h2 span').html(value); 
}); 

http://jsfiddle.net/pCsF9/

accompying HTML

<select name="test" id="test"> 
     <option value="AA">AA</option> 
     <option value="MA">MA</option> 
     <option value="LA">LA</option> 
     <option value="GO">TEST</option> 

    </select> 

<h2>selected:<span></span> </h2> 

變化的.text(以.VAL()並選擇最後一個選項來查看選擇值和文本之間的區別。在.text()應該返回測試中,.val()將返回GO

0
var styleSelect = $('select option:selected'); 
console.log(styleSelect.val()); 

會給您當前選擇

2

這裏的老斯庫爾非jQuery的版本,在所有可編寫腳本的瀏覽器的工作原理:

var option = styleSelect.options[styleSelect.selectedIndex]; 
alert("Value: " + option.value + ", text: " + option.text); 
+1

+1 for * old-skool *。 –