jQuery获取特定的选项标签文本

JavaScript

路易EvaSam

2020-03-09

好吧,说我有这个:

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

如果我想获得值“ 2”时选择“选项B”,选择器会是什么样?

请注意,这不是在询问如何获取选定的文本值,而是询问其中的任何一个(是否选择),具体取决于value属性。我试过了:

$("#list[value='2']").text();

但这是行不通的。

第306篇《jQuery获取特定的选项标签文本》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

10个回答
Jim老丝梅 2020.03.09

A tip: you can use below code if your value is dynamic:

$("#list option[value='"+aDynamicValue+"']").text();

Or (better style)

$("#list option").filter(function() {
     return this.value === aDynamicValue;
}).text();

As mentioned in jQuery get specific option tag text and placing dynamic variable to the value

逆天前端 2020.03.09

I needed this answer as I was dealing with a dynamically cast object, and the other methods here did not seem to work:

element.options[element.selectedIndex].text

This of course uses the DOM object instead of parsing its HTML with nodeValue, childNodes, etc.

Jim前端Near 2020.03.09

Use:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }
    });
}

jQuery(document).ready(function(){
    selected_state();
});
理查德理查德 2020.03.09

您可以使用函数获取选定的选项文本 .text();

您可以这样调用该函数:

jQuery("select option:selected").text();
猴子NearJinJin 2020.03.09
$(this).children(":selected").text()
LEYA理查德 2020.03.09

我想获取选定的标签。这在jQuery 1.5.1中对我有用。

$("#list :selected").text();
阿良 2020.03.09

请尝试以下操作:

$("#list option[value=2]").text();

您的原始代码段无效的原因是,您的OPTION代码是代码的子SELECT代码,该代码带有id list

番长古一GO 2020.03.09
$("#list option:selected").each(function() {
   alert($(this).text());
});  

用于#list元素中的多个选定值

ItachiGreen 2020.03.09
  1. 如果页面上只有一个选择标记,则可以在ID“列表”中指定选择

    jQuery("select option[value=2]").text();
    
  2. 获取所选文本

    jQuery("select option:selected").text();
    
Tom村村 2020.03.09

这对我来说非常有效,我正在寻找一种使用MySQL生成的选项发送两个不同值的方法,以下内容是通用且动态的:

$(this).find("option:selected").text();

如评论之一所述。这样,我可以创建一个动态函数,该函数可以与我希望同时获得值,选项值和文本的所有选择框一起使用。

几天前,我注意到当我使用此代码的站点将jQuery从1.6更新到1.9时,此停止工作...可能与另一段代码发生冲突...无论如何,解决方案是从find()调用:

$(this).find(":selected").text();

那是我的解决方案...仅当更新jQuery后遇到任何问题时才使用它。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android