2010-08-18 108 views
32

我的HTML如下。我需要使用 <select>标记来获取所选值(Scheduled)。这怎么可以使用jQuery来完成?使用jQuery在下拉菜单中获取选定的值。

<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")得到选择标记,但我不知道怎么去选择的选项的价值。

+1

类似的问题 - http://stackoverflow.com/questions/1643227/jquery-get-selected-text-from-dropdownlist – JasCav 2010-08-18 15:00:27

回答

57

尝试:

jQuery("#availability option:selected").val(); 

或者获取选项的文本,使用text()

jQuery("#availability option:selected").text(); 

更多信息:

+4

我认为jQuery的可识别出被选中,即使没有指定选择选项:选择。这也可以工作:$(“#availability”)。val(); – 2013-05-19 21:55:40

+0

可以试试'$(“select [id ='availability'] option:selected”)。val();' – KingRider 2015-10-08 14:00:15

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

这会给你下拉列表的文本值。您也可以使用.val()而不是.text(),具体取决于您想要获得的内容。按照jQuery文档和示例的链接。

+0

我编辑了这个问题。道歉 – bragboy 2010-08-18 15:05:36

11

上述解决方案对我无效。以下是我终于想出了:

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

+1另一种方式 – SpringLearner 2014-11-13 11:51:25

2
$('#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 
+0

欢迎来到StackOverflow!你能解释一下代码的作用吗? – MeanGreen 2015-06-23 14:18:22

5

我已经通过上面提供的所有答案了。 这是我用来从下拉列表中获取所选值我使用这种技术来得到所选择的下拉列表中的值

$('#searchType').val() // for the value

+0

谢谢。看起来它适用于'val()'而不是'text()' – Anupam 2017-06-08 10:00:45

0

好家伙最简单的方法,它是工作像魅力。

var methodvalue = $("#method option:selected").val(); 
相关问题