好吧,说我有这个:
<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();
但它没有用 .
20 回答
这对我来说非常合适,我正在寻找一种方法来发送两个不同的值与MySQL生成的选项,以下是通用和动态的:
$(this).find(“option:selected”) . text();
正如其中一条评论所述 . 有了这个,我就能够创建一个动态函数,它可以与我想要获取值,选项值和文本的所有选择框一起使用 .
几天前我注意到当我使用这段代码从站点的1.6到1.9更新jQuery时,这个停止工作......可能与另一段代码发生冲突......无论如何,解决方案是从中删除选项find()调用:
这是我的解决方案......只有在更新jQuery后遇到任何问题时才使用它 .
作为替代解决方案,您还可以使用context part of jQuery selector在下拉列表中查找带有
value="2"
的<option>
元素:而"looping"通过动态创建的选择元素与.each(function()...):_
$("option:selected").text();
和$(this + " option:selected").text()
没有返回选定的选项文本 - 而是返回null .但Peter Mortensen的解决方案有效:
我不知道为什么通常的方式在
.each()
(可能是我自己的错误)中没有成功,但谢谢你,彼得 . 我知道这不是原来的问题,但我提到了它"for newbies coming through Google."我会从
$('#list option:selected").each()
开始,除了我还需要从select元素中获取东西 .如果您想获得值为2的选项,请使用
如果您想获得当前选择的任何选项,请使用
我想获得所选标签 . 这在jQuery 1.5.1中对我有用 .
我正在寻找通过内部字段名称而不是ID来获取val,并且从谷歌来到这篇帖子有帮助但没有找到我需要的解决方案,但我得到了解决方案,这里是:
因此,这可能有助于某人使用字段内部名称查找所选值,而不是使用SharePoint列表的长ID:
根据Paolo发布的原始HTML,我想出了以下内容 .
它已经过测试,适用于Internet Explorer和Firefox .
使用:
您可以通过以下方式之一获得
请尝试以下方法:
原始代码段不起作用的原因是因为
OPTION
标记是SELECT
标记的子标记,其标记为id
list
.这是一个旧的问题,在一段时间内没有更新,现在正确的方法是使用
我希望这有帮助 :-)
提示:如果您的值是动态的,您可以使用下面的代码:
或者(更好的风格)
如jQuery get specific option tag text and placing dynamic variable to the value中所述
对于
#list
元素中的多个选定值 .我想要一个选择倍数的动态版本,它会显示正确选择的内容(希望我阅读并看到
$(this).find
...之前):您可以使用函数
.text();
获取所选的选项文本你可以这样调用这个函数:
在id选择器后面留一个空格 .
当我处理动态转换对象时,我需要这个答案,而其他方法似乎不起作用:
这当然使用DOM对象而不是使用nodeValue,childNodes等解析其HTML .
它正在寻找一个id为
list
的元素,它的属性value
等于2.你想要的是list
的option
子元素 .