Javascript 如何检查选择框中是否存在值

Javascript 如何检查选择框中是否存在值,javascript,dom,Javascript,Dom,除了运行for循环之外,是否有其他方法可以使用JavaScript检查选择框中是否存在值 我正在寻找类似document.getElementById'selbox'。valueExists'myval' 您可以使用jquery来完成 使用 看中 在javascript中,您可以像 for (var i=0; i<document.getElementById('mySelect').options.length; i++) { if (d

除了运行for循环之外,是否有其他方法可以使用JavaScript检查选择框中是否存在值


我正在寻找类似document.getElementById'selbox'。valueExists'myval'

您可以使用jquery来完成

使用

看中

在javascript中,您可以像

 for (var i=0; i<document.getElementById('mySelect').options.length; i++)
           { 
            if (document.getElementById('mySelect').options[i].text == seachtext) 
            { 
             alert('found');
             break;
            } 
       }

无法扩展select元素具有的方法。因此,如果没有额外的函数来检查select中是否存在值,就不会有解决方案

没有循环的解决方案可以是以下内容

function SelectHasValue(select, value) {
    obj = document.getElementById(select);

    if (obj !== null) {
        return (obj.innerHTML.indexOf('value="' + value + '"') > -1);
    } else {
        return false;
    }
}

当页面加载来自post参数的值时,这对我有效,因此如果select上不存在该值,请提醒用户;否则,请继续或提醒:

document.getElementById('your_select_id').value = target_value;
if (document.getElementById('your_select_id').value !== target_value ){
alert('This value is not in Select');
    return;
}
如果!$'选择框'.findoption:包含'+thevalue+'。长度{ //做事 } 使用ecma6:

let option = document.getElementById('selbox').querySelector('[value="' + my_value + '"]');
这将找到包含属性值=my_值的第一个元素


PS:对不起,我的西班牙式英语:

我也不知道。我玩的是某种加入和选择。原型。遇到了比我预期的更多的问题:我只是重新阅读了这个问题,虽然纯JavaScript当然可以,但我肯定会使用jQuery方法,否则会变得一团糟!另一个选项也比循环慢但比innerHTML快,它更改select的值,因此只有在您不关心此问题时才有用:函数SelectHasValueselect,value{var obj=document.getElementByIdselect;obj.value=value;return obj.value==value;}这太野蛮了,我喜欢它。发问者要求一个JavaScript解决方案,尽管jQuery是一个JavaScript库,但似乎可以安全地假设他们在这里寻求一个普通的JS解决方案。