使用jQuery获取下拉列表中的选定值。

35

以下是我的HTML代码。我需要使用<select>标签并使用jQuery获取选中的值(即Scheduled)。请问应该如何实现?

<select id="availability" style="display: none;">
  <option value="Available">Available</option>
  <option selected="selected" value="Scheduled">Scheduled</option>
  <option value="Unavailable">Unavailable</option>
</select>

我使用 jQuery("#availability") 获取了 select 标签,但我不知道如何获取所选选项的值。


1
类似问题 - https://dev59.com/1XI-5IYBdhLWcg3w18Z3 - JasCav
6个回答

63

4
我认为jQuery可以识别哪个选项被选择了,即使没有指定选择器 option:selected。以下写法也可以起到相同的作用:$("#availability").val(); - Arman Bimatov
可以尝试使用 $("select[id='availability'] option:selected").val(); - KingRider

11

上述解决方案对我无效。这是我最终想出的方法:

$( "#ddl" ).find( "option:selected" ).text();           // Text
$( "#ddl" ).find( "option:selected" ).prop("value");    // Value

8
$("#availability option:selected").text();

这将给你下拉列表的文本值。根据你想要获取的内容,你也可以使用.val()而不是.text()。请参考jQuery文档和示例。


5

我已经阅读了上面提供的所有答案。

这是我用来从下拉列表中获取所选值的最简单方法:

$('#searchType').val() // 获取值

该代码使用jQuery库,可以直接获取id为“searchType”的下拉列表的选定值。

谢谢。看起来它适用于 val() 但不适用于 text() - Anupam

3
$('#availability').find('option:selected').val() // For Value 
$('#availability').find('option:selected').text() // For Text
or 
$('#availability option:selected').val() // For Value 
$('#availability option:selected').text() // For Text

欢迎来到StackOverflow!您可以解释一下这段代码的作用吗? - MeanGreen

1

大家好,我正在使用这种技术从所选的下拉列表中获取值,它运作得非常好。

var methodvalue = $("#method option:selected").val(); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接