你如何在jQuery中选择SELECT元素中的特定选项?

24 浏览
0 Comments

你如何在jQuery中选择SELECT元素中的特定选项?

如果您知道索引、值或文本,也可以通过直接引用的ID来引用。

这个这个这个都是有用的答案。

示例标记


admin 更改状态以发布 2023年5月21日
0
0 Comments

以上的方法都没有提供我需要的解决方案,所以我决定提供我用过的解决方案。

$('#element option[value="no"]').attr("selected", "selected");

0
0 Comments

通过选项值获取中间选项元素的选择器为

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

对于索引:

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

对于已知文本:

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

编辑:如前面的评论所述,OP可能想要更改下拉列表的选定项。在1.6版本及更高版本中,推荐使用prop()方法:

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

在旧版本中:

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

编辑2:根据Ryan的评论。针对“Selection 10”的匹配可能是不想要的。我没有找到匹配完整文本的选择器,但使用过滤器可以解决:

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

编辑3:使用$(e).text()要小心,因为它可能包含换行符,从而导致比较失败。当选项隐式关闭(没有标记)时会发生这种情况:


如果只使用e.text,任何额外的空格(如尾随换行符)都将被删除,从而使比较更为稳健。

0