我有大约50个项目的选择,这里是一个小样本。 我想检查select是否包含特定的确切值,因此在寻找'Beauty'时,这将是1匹配而不是2。
我想过循环遍历所有项目,但后来我遇到了这个: http://api.jquery.com/is/
并认为可能表现更好。但是,我不知道如何在此代码中使用它:
<select id="mydropdown" class="textbox">
<option value="Beauty">Beauty</option>
<option value="Catering">Catering</option>
<option value="Beautysalon">Beautysalon</option>
</select>
答案 0 :(得分:5)
使用属性选择器:
var hasBeauty = !! $('#mydropdown > option[value="Beauty"]').length;
答案 1 :(得分:0)
if($('#mydropdown').val() == "Beauty")
{
//Do something
}
答案 2 :(得分:0)
这是一种更快的现代解决方案,它不使用querySelector
或jQuery
。
它的作用是获取options
对象,将其转换为数组并使用includes
检查值。所有方法都是本地JS API的一部分。
function optionExists (select, value) {
const options = Object.values(select.options).map(option => option.value)
return options.includes(value)
}
const select = document.getElementById('mydropdown')
console.log(optionExists(select, 'Beauty'))
console.log(optionExists(select, 'Be'))
<select id="mydropdown" class="textbox">
<option value="Beauty">Beauty</option>
<option value="Catering">Catering</option>
<option value="Beautysalon">Beautysalon</option>
</select>