ChatGPT解决这个技术问题 Extra ChatGPT

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

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

只是我的两分钱:“ASP”下拉菜单没有什么特别之处;它只是很好的旧 HTML。 :-)
可以参考这篇文章:javascriptstutorial.com/blog/…
对于 vanilla javascript 方式,请参阅 stackoverflow.com/a/5947/32453
只需 $(this).prop('selected', true);将 .att 替换为 .prop 它适用于所有浏览器
$("#yourdropdownid option:selected").text();

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

我认为这应该是 $("#yourdropdownid").children("option").filter(":selected").text() 因为 is() 返回对象是否匹配选择器的布尔值。
我支持关于 is() 返回布尔值的评论;或者,使用以下小改动: $('#yourdropdownid').children("option:selected").text();
$('select').children(':selected') 是最快的方式:jsperf.com/get-selected-option-text
如果有像 \n \t 这样的 scape 字符,您可以添加 .trim() 得到这样的:$("#yourdropdownid option:selected").text().trim();
k
kgiannakakis

尝试这个:

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

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

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

P
Peter Mortensen

例如,此处发布的答案

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

对我不起作用,但这确实:

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

它可能是 jQuery 的旧版本。


N
Nouman Bhatti

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

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

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

更新:修复了上面的链接


P
Prabhagaran

这对我有用

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

如果元素动态创建

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

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

P
Peter Mortensen

这对我有用:

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

jQuery 版本:1.9.1


A
Aziz Shaikh

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


不完全是问题的答案,但对我有用。问题需要选定的文本。
M
Milap

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

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

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

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

J
Justin Lessard

用这个

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

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   

然后您在 selectedValueselectedText 中获取您选择的值和文本。


M
MaxEcho

各种方式

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

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

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

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

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

V
Vivek
var someName = "Test";

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

这将帮助您找到正确的方向。如果您需要进一步的帮助,请告诉我,上面的代码已经过全面测试。


P
Peter Mortensen

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

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

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

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

如文档 here 中所述。

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

.text() 根据文档 here

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

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

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


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

这工作正常


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

M
Mojtaba

为了获得选定的价值使用

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

并获取选定的项目文本使用这一行:

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

M
Milap

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

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

N
Naveenbos

这段代码对我有用。

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

也有效!如果有像 \n \t 这样的 scape 字符,您可以添加 .trim() 得到这样的:$("#yourdropdownid").children("option").filter(":selected").text().trim();
V
Vishal Thakur

尝试:

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

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

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

更多信息:

http://api.jquery.com/val/

http://api.jquery.com/text/


M
Muddasir23

只需尝试以下代码。

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

它返回所选选项的文本。


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

P
Peter Mortensen

利用:

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

M
Mohammad Dayyan

以下对我有用:

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

M
Mhandzkie

这对我有用:

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

我正在使用 jQuery 1.10.2


M
Milap

在兄弟姐妹的情况下

<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()

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


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

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

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

S
Satinder singh

$(function () { alert('.val() = ' + $('#selectnumber').val() + ' AND html() = ' + $('#selectnumber option:selected').html() + ' AND .text() = ' + $('#selectnumber option:selected').text()); });

https://i.stack.imgur.com/gjUBz.png


m
max

如果要将结果作为列表,请使用:

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