为了账号安全,请及时绑定邮箱和手机立即绑定

我需要哪个选择器按文本选择一个选项?

我需要哪个选择器按文本选择一个选项?

HUH函数 2019-08-08 10:32:25
我需要哪个选择器按文本选择一个选项?我需要检查a <select>是否有一个文本等于特定值的选项。例如,如果有<option value="123">abc</option>,我会寻找“abc”。有选择器吗?我正在寻找类似于$('#select option[value="123"]');文本的东西。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

这有助于:

$('#test').find('option[text="B"]').val();

演示小提琴

这将为您提供文本选项,B而不是包含文本的选项B。希望这可以帮助

对于最新版本的jQuery,上面的方法不起作用。如下面的Quandary评论,这适用于jQuery 1.9.1:

$('#test option').filter(function () { return $(this).html() == "B"; }).val();

更新了小提琴


查看完整回答
反对 回复 2019-08-08
?
BIG阳

TA贡献1859条经验 获得超6个赞

您可以使用:contains()选择器选择包含特定文本的元素。
例如:

$('#mySelect option:contains(abc)')

要检查给定<select>元素是否具有此选项,请使用以下.has()方法

if (mySelect.has('option:contains(abc)').length)

要查找<select>包含此类选项的所有s,请使用:has()选择器

$('select:has(option:contains(abc))')


查看完整回答
反对 回复 2019-08-08
?
米脂

TA贡献1836条经验 获得超3个赞

之前的建议都没有在jQuery 1.7.2中为我工作,因为我试图根据文本框中的值设置列表的选定索引,并且一些文本值包含在多个选项中。我最终使用了以下内容:

$('#mySelect option:contains(' + value + ')').each(function(){
    if ($(this).text() == value) {
        $(this).attr('selected', 'selected');
        return false;
    }
    return true;});


查看完整回答
反对 回复 2019-08-08
  • 3 回答
  • 0 关注
  • 440 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信