根据jQuery 1.7中的文本检查是否存在选择选项

yz1*_*z10 6 html javascript jquery jquery-selectors

所以我有以下HTML:

<select id="sel">
<option value="0">Option1</option>
<option value="1">Option2</option>
<option value="2">Option3</option>
<option value="3">Option4</option>
</select>
Run Code Online (Sandbox Code Playgroud)

如何查看#sel是否有基于文本值的选项?("选项1")

und*_*ned 13

请尝试以下方法:

var opt = 'Option1';
if ($('#sel option:contains('+ opt +')').length) {
   alert('This option exists')
}
Run Code Online (Sandbox Code Playgroud)

演示

编辑:上面的代码片段使用jQuery contains选择器,该选择器过滤其textContent 包含指定值的元素.要获得完全匹配,您可以使用christian-mann的答案中建议的代码段.

如何用Javascript(而不是jquery)做到这一点 - 杰里

var optionExists = [].some.call(document.getElementById('sel').options, function(option) {
   return option.textContent === 'value';
});
Run Code Online (Sandbox Code Playgroud)


Chr*_*ann 8

jQuery过滤器函数接受一个函数作为其参数:

$('#sel option').filter(function() { 
    return $(this).text() === "Option1"; 
});
Run Code Online (Sandbox Code Playgroud)