猿问

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

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

我需要检查a <select>是否有一个文本等于特定值的选项。

例如,如果有<option value="123">abc</option>,我会寻找“abc”。

有选择器吗?

我正在寻找类似于$('#select option[value="123"]');文本的东西。


HUH函数
浏览 441回答 3
3回答

噜噜哒

这有助于:$('#test').find('option[text="B"]').val();演示小提琴这将为您提供文本选项,B而不是包含文本的选项B。希望这可以帮助对于最新版本的jQuery,上面的方法不起作用。如下面的Quandary评论,这适用于jQuery 1.9.1:$('#test&nbsp;option').filter(function&nbsp;()&nbsp;{&nbsp;return&nbsp;$(this).html()&nbsp;==&nbsp;"B";&nbsp;}).val();更新了小提琴

BIG阳

您可以使用:contains()选择器选择包含特定文本的元素。例如:$('#mySelect&nbsp;option:contains(abc)')要检查给定<select>元素是否具有此选项,请使用以下.has()方法:if&nbsp;(mySelect.has('option:contains(abc)').length)要查找<select>包含此类选项的所有s,请使用:has()选择器:$('select:has(option:contains(abc))')

米脂

之前的建议都没有在jQuery 1.7.2中为我工作,因为我试图根据文本框中的值设置列表的选定索引,并且一些文本值包含在多个选项中。我最终使用了以下内容:$('#mySelect&nbsp;option:contains('&nbsp;+&nbsp;value&nbsp;+&nbsp;')').each(function(){ &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;($(this).text()&nbsp;==&nbsp;value)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$(this).attr('selected',&nbsp;'selected'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;true;});
随时随地看视频慕课网APP

相关分类

JQuery
我要回答