如何在 jQuery 的 SELECT 元素中选择特定选项? [英] How do you select a particular option in a SELECT element in jQuery?

查看:32
本文介绍了如何在 jQuery 的 SELECT 元素中选择特定选项?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果您知道索引、值或文本.如果您没有直接参考的 ID,也可以这样做.

这个this这个都是有用的答案.

示例标记

<select class="opts"><option selected value="DEFAULT">默认</option><option value="SEL1">选择1</option><option value="SEL2">选择2</option></选择>

解决方案

按值获取中间选项元素的选择器是

$('.selDiv option[value="SEL1"]')

对于索引:

$('.selDiv option:eq(1)')

对于已知文本:

$('.selDiv option:contains("Selection 1")')

EDIT:正如上面所评论的,OP 可能是在更改下拉列表的选定项目之后.在 1.6 及更高版本中,推荐使用 prop() 方法:

$('.selDiv option:eq(1)').prop('selected', true)

在旧版本中:

$('.selDiv option:eq(1)').attr('selected', 'selected')

EDIT2:在 Ryan 发表评论之后.选择 10"上的匹配可能是不需要的.我发现没有 selector 来匹配全文,但是有一个 filter 工作:

 $('.selDiv 选项').filter(function(i, e) { return $(e).text() == "Selection 1"})

EDIT3:使用 $(e).text() 时要小心,因为它可能包含导致比较失败的换行符.This happens when the options are implicitly closed (no </option> tag):


                
            
发送“验证码”获取 | 15天全站免登陆