2012-01-23 194 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>