javascript - jQuery获取特定的选项标记文本

  显示原文与译文双语对照的内容

好吧,假设我有:


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

选择器会是什么样子,如果我想"选项B"'2'价值?

请注意,这不是问怎么选择文本值,但只是其中一个,是否选择,这取决于价值属性。 我试过:


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

但它不起作用。

时间:

它正在寻找一个具有 list 属性的元素,它的属性 value 等于 2. 什么是你想要的optionlist


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

如果你想获得值为 2的选项,请使用


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


如果你想获得当前选中的选项,请使用


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

基于Paolo发布的原始 HTML,我提出了以下内容。


$("#list").change(function() {
 alert($(this).find("option:selected").text()+' clicked!');
});

它已经被测试在 IE 和 Firefox 上工作。

这对我来说很完美,我正在寻找一种方法,用MySQL生成的选项发送两个不同的值,以下是通用和动态的:


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

就像一个评论中提到的。 这样我就可以创建一个动态函数,它可以处理所有我想得到的值,选项值和文本。

几天前我注意到,当我从 1.6到 1.9的站点更新jQuery时,这个停止工作。 可能与另一段代码冲突。。 无论如何,解决方案是从 find() 调用中删除选项:


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

那是我的解决方案。。只有在更新jQuery后有问题时才使用它。

  1. 如果表单中只有一个选择标记,那么你可以在id列表'中指定select选择 inside'

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

    
    jQuery("select option:selected").text();
    
    

请尝试以下操作:


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

原始代码Fragment不起作用的原因是你的OPTION 标记是 SELECT 标记的子标记,它具有 idlist

...