使用JavaScript检查多选框中是否已存在选项

时间:2014-06-11 08:23:57

标签: javascript

我的问题与此相同 - 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
       }
    }

3 个答案:

答案 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");
   }
}