获取jQuery中下拉菜单的值


100

我有一个下拉菜单,其中有一个“ ID,名称”对。

乔恩·米勒
·吉姆·史密斯·
简·莫森

Jon MIller的ID为101
Jim Smith的ID为102
Jen Morsin的ID为103

当我执行以下操作时:

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

我选择乔恩·米勒(Jon Miller),我得到101。不过我想得到乔恩·米勒(Jon Miller)。


Answers:


185

$('#Crd').val()将为您提供下拉元素的选定值。使用它来获取选定的选项文本。

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

3
$('#Crd选项:已选择').text()或$('#Crd选项:已选择').val(),. text为您提供所显示文本的值,而不是值
patrick choi

$('#Crd option:selected')。val(); 价值
asifaftab87

13

最好的方法是使用:

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

根据要求,您还可以使用以下方式:

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

5

如果您使用<select>,则.val()获取所选的“值” <option>。如果没有value,则可能会回退到id。将您要返回的值放在value每个属性中<option>

编辑:请参阅注释以了解value实际含义(不一定等于value属性)。


1
仅作说明,.val()返回实时值属性,而不返回HTML属性值。
乍得

正确。但是,在这种情况下没有实际区别,因为OP似乎不想随时更改values。
Ansel Santosa

2
.val() gets the 'value' attribute of the selected <option>,就像我说的:只是澄清一下。
乍得

如果我需要索引或ID而不是文本怎么办?
bgmCoder 2015年

5

这对我有用!

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

希望这对某人有帮助!




2

另外的选择:

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

0

如前所述,在一个select框中,该.val()属性将为您提供所选选项的值。如果所选选项不具有value属性,它将默认为选项的显示值(这是show 的jQuery文档中.val的示例。

您要使用.text()所选选项:

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


0

如果下拉菜单的ID为“ someId”,则为您提供下拉菜单的当前值。

$("#someId").val();

0

$('.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>


0

将id传递并保留到变量中,然后将变量传递到所需的任何位置。

var temp = $('select [name = ID名称]')。val();


$('select [name = ID名称]选项:selected')。val(); 这个也可以工作
Abhijit Patra
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.