2012-01-23 191 views
65

我有一個下拉菜單,裏面有'ID,Name'對。獲取jQuery中下拉列表的值

喬恩米勒
吉姆史密斯
仁Morsin

當喬恩米勒101
吉姆·史密斯的ID具有102
仁Morsin的ID具有ID我做了以下幾點:

var arNames = $('#Crd').val() 

我選擇喬恩米勒,我得到101.我想要喬恩米勒。

+0

退房http://stackoverflow.com/questions/1643227/jquery-get-selected-text-from-dropdownlist – Franz

回答

133

$('#Crd').val()會爲您提供下拉元素的選定值。使用它來獲取選定的選項文本。

$('#Crd option:selected').text(); 
+1

$( '#Crd中選項:選擇')。文本()或$('#Crd option:selected')。val(),.text給出顯示文本的值,而不是值 –

4

如果您使用的是<select>.val()獲取選定<option>的 '價值'。如果它沒有value,則可能會回退到id。把你希望它在每個<option>

編輯的value屬性返回值:見什麼value實際上是澄清意見(不一定等於value屬性)。

+1

只是澄清,.val()返回* live值屬性*而不是HTML屬性值。 – Chad

+0

正確。然而在這種情況下沒有實際的區別,因爲OP似乎並不想在任何時候改變「價值」。 –

+2

'.VAL()獲取所選

0

正如已經指出的...在select框中,.val()屬性將爲您提供所選選項的值。如果所選的選項沒有屬性的值將默認爲選項的顯示值(這是對jQuery documentation of .val的例子顯示

要使用.text()所選選項:

$('#Crd option:selected').text()

7

最好的辦法是使用:

$("#yourid option:selected").text(); 

根據不同的需求,你也可以用這樣的方式:

var v = $("#yourid").val(); 
$("#yourid option[value="+v+"]").text() 
0

如果下拉 的ID爲「someId」,這會給出下拉的當前值。

$("#someId").val(); 
3
var sal = $('.selectSal option:selected').eq(0).val(); 

selectSal是一類。

1

試試這個:

var text = $('#YourDropdownId').find('option:selected').text(); 
0

另一種選擇:

$("#<%=dropDownId.ClientID%>").children("option:selected").val(); 
2

這很適合我!

$('#selected-option option:selected').val() 

希望這可以幫助別人!

-1

$('.leave_response').on('change', function() { 
 
    var responseId = $(this).val(); 
 
    console.log(responseId); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<td> 
 
    <select class="leave_response" name="leave"> 
 
     <option>1</option> 
 
     <option>2</option> 
 
     <option>3</option> 
 
     <option>4</option> 
 
    </select> 
 
</td>