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

时间:2009-10-29 12:02:09

标签: javascript jquery drop-down-menu jquery-selectors

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

34 个答案:

答案 0 :(得分:3571)

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

答案 1 :(得分:253)

试试这个:

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

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

$("[id*='MyDropDownId'] :selected")

答案 2 :(得分:203)

这里发布的答案,例如,

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

对我不起作用,但确实如此:

$('#yourdropdownid').find('option:selected').text();

它可能是jQuery的旧版本。

答案 3 :(得分:97)

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

$("option:selected", myVar).text()

这个问题的其他答案对我有帮助,但最终jQuery论坛帖子 $(this + "option:selected").attr("rel") option selected is not working in IE 帮助最大。

更新:修正了以上链接

答案 4 :(得分:61)

$("option:selected", $("#TipoRecorde")).text()

答案 5 :(得分:56)

这对我有用

$("#dropdownid").change(function() {
    alert($(this).find("option:selected").text());
});

如果动态创建元素

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

答案 6 :(得分:54)

$("#DropDownID").val()将提供所选的索引值。

答案 7 :(得分:53)

这对我有用:

$('#yourdropdownid').find('option:selected').text();

jQuery版本:1.9.1

答案 8 :(得分:41)

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

$('select[name="thegivenname"] option:selected').text();

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

$('select[name="thegivenname"] option:selected').val();

答案 9 :(得分:32)

各种方式

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

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

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

4. $("#myselect").find(":selected").text();

答案 10 :(得分:29)

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

答案 11 :(得分:26)

var someName = "Test";

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

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

答案 12 :(得分:19)

请使用此

var listbox = document.getElementById("yourdropdownid");
var selIndex = listbox.selectedIndex;
var selValue = listbox.options[selIndex].value;
var selText = listbox.options[selIndex].text;   

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

答案 13 :(得分:18)

对于那些使用SharePoint列表并且不想使用long生成的ID的人,这将有效:

var e = $('select[title="IntenalFieldName"] option:selected').text();

答案 14 :(得分:16)

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

您可以使用任何jQuery选择器代替#selectID,例如.selectClass使用类。

如文档here中所述。

:所选的选择器适用于&lt; option&gt;元素。它不适用于复选框或无线电输入;为他们使用:checked

.text()根据文档here

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

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

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

答案 15 :(得分:14)

$("select[id=yourDropdownid] option:selected").text()

这很好用

答案 16 :(得分:12)

$('#id').find('option:selected').text();

答案 17 :(得分:12)

获取选定值

$('#dropDownId').val();

并且要获取所选项目文本,请使用以下行:

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

答案 18 :(得分:10)

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

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

答案 19 :(得分:9)

使用:

('#yourdropdownid').find(':selected').text();

答案 20 :(得分: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()

答案 21 :(得分:7)

以下为我工作:

$.trim($('#dropdownId option:selected').html())

答案 22 :(得分:7)

var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;

答案 23 :(得分:6)

这项工作对我来说:

$("#city :selected").text();

我正在使用jQuery 1.10.2

答案 24 :(得分:6)

尝试:

Field

要获取该选项的文字,请使用- (void)setFieldOnScreen:(Field *)f { // Field is a model class that suits your requirement if (f.type isEqualToString:@"UITextField"]) { float x = f.x.floatValue; float y = f.y.floatValue; float width = f.width.floatValue; float height = f.height.floatValue; UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(x, y, width, height)]; txtField.delegate = self; txtField.font = f.font_name; // from repsonse txtField.tag = f.tag.integerValue; // from response txtField.textAlignment = f.alignment //NSTextAlignmentLeft or whatever from response // even you can fill up preset values in it from response txtField.text = f.presetvalue; ... and so on.... } else if ... /// for UILabel/UIButton/UISwitch or any other subclass of the controls } }

$var = jQuery("#dropdownid option:selected").val();
   alert ($var);

更多信息:

答案 25 :(得分:5)

&#13;
&#13;
$(function () {
  alert('.val() = ' + $('#selectnumber').val() + '  AND  html() = ' + $('#selectnumber option:selected').html() + '  AND .text() = ' + $('#selectnumber option:selected').text());
});
&#13;
<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>
&#13;
&#13;
&#13;

Click to see OutPut Screen

答案 26 :(得分:5)

只需尝试以下代码。

var text= $('#yourslectbox').find(":selected").text();

它返回所选选项的文本。

答案 27 :(得分:3)

如果您希望将结果作为列表,请使用:

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})

答案 28 :(得分:3)

此代码对我有用。

$("#yourdropdownid").children("option").filter(":selected").text();

答案 29 :(得分:2)

尝试

dropdown.selectedOptions[0].text

function read() {
  console.log( dropdown.selectedOptions[0].text );
}
<select id="dropdown">
  <option value="1">First</option>
  <option value="2">Second</option>
</select>
<button onclick="read()">read</button>

答案 30 :(得分:0)

对于多选:

<body>
  <div class="body-content">
      <div class="container">
        <div class="row">
          <div class="col-md-12">
            <label>Content</label>
          </div>
        </div>
      </div>
  </div>   
</body>

答案 31 :(得分:0)

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

如果你使用asp.net并写

<Asp:dropdownlist id="ddl" runat="Server" />

然后你应该使用

$('#<%=ddl.Clientid%> option:selected').text();

答案 32 :(得分:0)

只需添加以下行

$(this).prop('selected', true);

将.att替换为.prop,它适用于所有浏览器。

答案 33 :(得分:0)

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


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

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

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