协慌网

登录 贡献 社区

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

好吧,说我有这个:

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

但它没有用。

答案

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

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

如果您想获得当前选择的任何选项,请使用

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

它正在寻找一个 id list的元素,其属性value等于 2. 你想要的是listoption子元素。

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

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

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

正如其中一条评论所述。有了这个,我就能够创建一个动态函数,它可以处理我想要获取值,选项值和文本的所有选择框。

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

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

这是我的解决方案...... 只有在更新 jQuery 后遇到任何问题时才使用它。