我的问题与此相同 - How can I check whether a option already exist in select by JQuery
虽然我想知道如何使用JavaScript而不是使用jQuery来完成它。
我已尝试使用indexOf()
,===
等其他内容,但我不确定我的方法是否正确。
P.S:如果您将其标记为重复,请将我与JavaScript中的答案链接起来。谢谢。
此外,欢迎降低投票的理由。
我的方法:
var foldersList = document.getElementById("folders");
for(var i=0; i<foldersList.length; i++)
{
if(!(foldersList.options[i].value.indexOf("someValue") === -1))
{
//do something
}
}
答案 0 :(得分:3)
您可以使用document.querySelectorAll
:
document.querySelectorAll('#yourSelect option[value="yourValue"]').length > 0
与此相同:
$("#yourSelect option[value='yourValue']").length > 0;
答案 1 :(得分:2)
简单的方法,即使是最古老的浏览器也支持:
function selectHasOption(select, value)
{
for (var i = 0, len = select.options.length; i != len; ++i) {
if (select.options[i].value == value) {
return true;
}
}
return false;
}
这就是表达式:
selectHasOption(document.getElementById('folders'), 'someValue')
答案 2 :(得分:2)
var yourSelect = document.getElementById("yourSelect");
for (i = 0; i < yourSelect.length; ++i) {
if (yourSelect.options[i].value == "someValue") {
alert("someValue is available");
}
}