使用jQuery从下拉列表(选择框)中获取所选文本

had*_*dar 2240 javascript jquery jquery-selectors drop-down-menu

如何从jQuery的下拉列表中获取所选文本(而不是选定的值)?

rah*_*hul 3683

$("#yourdropdownid option:selected").text();
Run Code Online (Sandbox Code Playgroud)

  • 我认为这应该是`$("#yourdowndownid").children("option").filter(":selected").text()`因为is()返回一个布尔值,表示对象是否与选择器匹配. (204认同)
  • `$('select').children(':selected')`是最快的方法:http://jsperf.com/get-selected-option-text (94认同)
  • 我的第二个评论是关于()返回一个boolen; 或者,使用以下小改动:$('#yourdowndownid').children("option:selected").text(); (42认同)
  • @ DT3测试`是("选中").text()`返回一个`TypeError:Object false没有方法'text' (25认同)
  • $( "#IdSelect")儿童( "选项:选择").文本() (3认同)
  • @ DT3,他对速度并没有错.[这里有一些快速统计](http://grabilla.com/02c04-34774c6b-bb36-4324-878b-25f4ba6ca94d.html)运行在一个实际大小的下拉列表(8左右). (2认同)
  • 我将这个添加到混合中,特别是如果你已经有一个dropdown元素的句柄:$ select.find("option:selected").text(); (2认同)

kgi*_*kis 260

试试这个:

$("#myselect :selected").text();
Run Code Online (Sandbox Code Playgroud)

对于ASP.NET下拉列表,您可以使用以下选择器:

$("[id*='MyDropDownId'] :selected")
Run Code Online (Sandbox Code Playgroud)

  • 它不起作用,因为asp.net母版页在选择器前面抛出随机字符.它在技术上寻找类似`("#ct0001yourdropdownid)"的东西 (5认同)

JYX*_*JYX 207

例如,这里发布的答案,

$('#yourdropdownid option:selected').text();
Run Code Online (Sandbox Code Playgroud)

不适合我,但这样做:

$('#yourdropdownid').find('option:selected').text();
Run Code Online (Sandbox Code Playgroud)

它可能是jQuery的旧版本.

  • 不要讨厌这个答案.使用"find"关键字对我来说很有用.我来自一个完全不同的背景. (7认同)
  • 你根本不需要选项部分,只需使用$('#yourdowndownid:selected').text(); 会很好的 (5认同)

Kir*_*ohn 99

如果您已经在变量中提供了下拉列表,这对我有用:

$("option:selected", myVar).text()
Run Code Online (Sandbox Code Playgroud)

关于这个问题的其他答案对我有所帮助,但最终jQuery论坛帖子$(这个+"选项:选中").选中的attr("rel")选项在IE中的帮助最大.

更新:修复了上面的链接


小智 62

$("option:selected", $("#TipoRecorde")).text()
Run Code Online (Sandbox Code Playgroud)


Pra*_*ran 62

这适合我

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});
Run Code Online (Sandbox Code Playgroud)

如果元素是动态创建的

$(document).on("change", "#dropdownid", function() {
    alert($(this).find("option:selected").text());
});
Run Code Online (Sandbox Code Playgroud)


小智 54

$("#DropDownID").val() 将给出所选的索引值.

  • 不完全是问题的答案,但对我有用.问题想要选定的文本. (37认同)

Bin*_*ati 53

这对我有用:

$('#yourdropdownid').find('option:selected').text();
Run Code Online (Sandbox Code Playgroud)

jQuery版本:1.9.1

  • 这对我有用,因为在`change`事件中,我现在可以使用`$(this).find('option:selected').text()`来获取文本. (3认同)

Kam*_*rul 41

对于所选项目的文本,请使用:

$('select[name="thegivenname"] option:selected').text();
Run Code Online (Sandbox Code Playgroud)

对于所选项目的值,请使用:

$('select[name="thegivenname"] option:selected').val();
Run Code Online (Sandbox Code Playgroud)


Sal*_*lim 32

各种方式

1. $("#myselect option:selected").text();

2. $("#myselect :selected").text();

3. $("#myselect").children(":selected").text();

4. $("#myselect").find(":selected").text();
Run Code Online (Sandbox Code Playgroud)


N J*_*N J 30

$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});
Run Code Online (Sandbox Code Playgroud)


小智 26

var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});
Run Code Online (Sandbox Code Playgroud)

这将有助于您获得正确的方向.如果您需要进一步的帮助,请通过以上代码进行全面测试.


Moh*_* MK 23

请用这个

const select = document.getElementById("yourSelectId");

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   
Run Code Online (Sandbox Code Playgroud)

然后请提醒"selValue"和"selText".您将获得所选的下拉值和文本


FAA*_*FAA 18

对于那些使用SharePoint列表并且不想使用long生成的id的用户,这将起作用:

var e = $('select[title="IntenalFieldName"] option:selected').text();
Run Code Online (Sandbox Code Playgroud)


Nik*_*wal 16

 $("#selectID option:selected").text();
Run Code Online (Sandbox Code Playgroud)

而不是#selectID你可以使用任何jQuery选择器,如.selectClass使用类.

正如这里的文档中提到的那样.

:选定的选择器适用于<option>元素.它不适用于复选框或无线电输入; 使用:checked他们.

.text()根据此处的文档.

获取匹配元素集中每个元素的组合文本内容,包括它们的后代.

因此,您可以使用该.text()方法从任何HTML元素中获取文本.

请参阅文档以获得更深入的解释.


Tha*_*amy 14

$("select[id=yourDropdownid] option:selected").text()
Run Code Online (Sandbox Code Playgroud)

这很好用


小智 14

$("#dropdown").find(":selected").text();


$("#dropdown :selected").text();
Run Code Online (Sandbox Code Playgroud)

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

$("#dropdown").children(":selected").text();
Run Code Online (Sandbox Code Playgroud)


Nik*_*kul 12

$('#id').find('option:selected').text();
Run Code Online (Sandbox Code Playgroud)


Moj*_*aba 12

用于获取选定的值

$('#dropDownId').val();
Run Code Online (Sandbox Code Playgroud)

并获取所选项目文本使用此行:

$("#dropDownId option:selected").text();
Run Code Online (Sandbox Code Playgroud)


San*_*wat 10

在下拉列表中选择文本和选定的值/在jQuery中选择更改事件

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})
Run Code Online (Sandbox Code Playgroud)


kis*_*ore 9

使用:

('#yourdropdownid').find(':selected').text();
Run Code Online (Sandbox Code Playgroud)


小智 8

var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
Run Code Online (Sandbox Code Playgroud)


vin*_*eet 7

在兄弟情况下

<a class="uibutton confirm addClient" href="javascript:void(0);">ADD Client</a>
<input type="text" placeholder="Enter client name" style="margin: 5px;float: right" class="clientsearch large" />
<select class="mychzn-select clientList">
  <option value="">Select Client name....</option>
  <option value="1">abc</option>
</select>


 /*jQuery*/
 $(this).siblings('select').children(':selected').text()
Run Code Online (Sandbox Code Playgroud)


Moh*_*yan 7

以下为我工作:

$.trim($('#dropdownId option:selected').html())
Run Code Online (Sandbox Code Playgroud)


小智 7

只需尝试以下代码。

var text= $('#yourslectbox').find(":selected").text();
Run Code Online (Sandbox Code Playgroud)

它返回所选选项的文本。


Mha*_*kie 6

这项工作对我来说:

$("#city :selected").text();
Run Code Online (Sandbox Code Playgroud)

我正在使用jQuery 1.10.2


Bha*_*tap 6

$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <title></title>

  </head>
  <body>
    <form id="form1" runat="server">
      <div>
        <select id="selectnumber">
          <option value="1">one</option>
          <option value="2">two</option>
          <option value="3">three</option>
          <option value="4">four</option>
        </select>

      </div>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

点击查看OutPut Screen


Vis*_*kur 6

尝试:

$var = jQuery("#dropdownid option:selected").val();
   alert ($var);
Run Code Online (Sandbox Code Playgroud)

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

$var = jQuery("#dropdownid option:selected").text();
   alert ($var);
Run Code Online (Sandbox Code Playgroud)

更多信息:


Kam*_*ski 6

尝试

dropdown.selectedOptions[0].text
Run Code Online (Sandbox Code Playgroud)

dropdown.selectedOptions[0].text
Run Code Online (Sandbox Code Playgroud)
function read() {
  console.log( dropdown.selectedOptions[0].text );
}
Run Code Online (Sandbox Code Playgroud)


Nav*_*bos 5

这段代码对我有用。

$("#yourdropdownid").children("option").filter(":selected").text();
Run Code Online (Sandbox Code Playgroud)