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();
但它没有起作用。
1210
20
如果你想得到一个值为2的选项,使用
如果您想获得当前选择的任何选项,请使用
它正在寻找一个id为
list
的元素,该元素的属性value
等于2。这对我来说是完美的,我正在寻找一种方法来发送两个不同的值与MySQL生成的选项,以下是通用和动态的。
$(this).find("option:selected").text();
。就像在一个评论中提到的那样。 有了这个功能,我就可以创建一个动态函数,与我所有的选择框一起工作,我想得到两个值,选项值和文本。
几天前,我注意到,当更新jQuery从1.6到1.9的网站,我使用这段代码,这停止工作... ... 可能是和其他代码冲突了...... 总之,解决方法是把find()调用中的选项去掉。
这是我的解决方案... 只有在更新jQuery后有问题时才使用。
根据Paolo发布的原始HTML,我想出了以下内容。
经测试,它可以在Internet Explorer和Firefox上运行。
jQuery("select option[value=2]").text()。
jQuery("选择选项:选定").text()。
#list
元素中的多个选择值。试试以下方法。
你原来的片段不能工作的原因是,你的
OPTION
标签是你的SELECT
标签的子标签,它有id``list
。这是一个老问题,已经有一段时间没有更新了,现在正确的方法是使用
我希望这能帮助你:-)
我想得到选定的标签。 在jQuery 1.5.1中,这个方法对我有用。
你可以通过使用函数
.text();
来获取所选的选项文本。你可以这样调用该函数。
在id选择器后面留一个空格。
当"循环" 用.each(function()...)通过动态创建的选择元素。
$("option:selected").text();
和$(this+" option:selected").text()
并没有返回选中的选项文本--相反,它是空的。但Peter Mortensen'的解决方案成功了。
我不知道为什么通常的方法在
.each()
中不成功(可能是我自己的错误),但是谢谢你,Peter。 我知道这不是最初的问题,但我提到它"为通过Google."来的新手。我本来会从
$('#list option:selected").each()
开始,只是我需要从select元素中也抓取东西。使用。
我一直在寻找通过内部字段名而不是ID来获取val,并从谷歌到这个帖子的帮助,但没有找到我需要的解决方案,但我得到的解决方案,这里是。
所以,这可能会帮助某人在SharePoint列表中用内部字段名而不是用长ID来寻找选择值。
我需要这个答案,因为我正在处理一个动态投射的对象,而这里的其他方法似乎都不起作用。
当然,这使用的是DOM对象,而不是用nodeValue、childNodes等解析其HTML。
1:
一个小窍门:如果你的值是动态的,你可以使用以下代码 如果你的值是动态的,你可以使用下面的代码。
或者(更好的风格)
如https://stackoverflow.com/questions/12135825/jquery-get-specific-option-tag-text-and-placing-dynamic-variable-to-the-value/12135848 所述。
作为一个替代方案,你也可以使用jQuery选择器的[context部分][1]在下拉列表中找到带有
value="2"
的<option>
元素。[1]: http://api.jquery.com/jQuery/#jQuery1
您可以通过以下方式获得
<!--开始片段。 js hide: false console: true babel.false --> -- begin snippet: js hide: false console: true false -->
我想要一个动态版本的select multiple,可以在右边显示选择的内容(希望我'读下去,早点看到
$(this).find
...)。 )。