Javascript 如何检查选择框中是否存在值
除了运行for循环之外,是否有其他方法可以使用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
我正在寻找类似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解决方案。