除了运行for循环以检查选择框中是否存在使用JavaScript
的值之外,还有其他方法吗?
我正在寻找像document.getElementById('selbox').valueExists('myval');
答案 0 :(得分:6)
您无法扩展select
- 元素所具有的方法。因此,如果没有额外的函数来检查select
中是否存在值,就不会有解决方案。
没有循环的“解决方案”可以是以下内容......
function SelectHasValue(select, value) {
obj = document.getElementById(select);
if (obj !== null) {
return (obj.innerHTML.indexOf('value="' + value + '"') > -1);
} else {
return false;
}
}
答案 1 :(得分:2)
当页面从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;
}
答案 2 :(得分:2)
使用ecma6:
let option = document.getElementById('selbox').querySelector('[value="' + my_value + '"]');
这将找到包含属性value =“my_value”的第一个元素。
PS:对不起我的英语:)
答案 3 :(得分:1)
你可以用jquery
来做见
Check if value is in select list with JQuery
在javascript中你可以像
一样运行 for (var i=0; i<document.getElementById('mySelect').options.length; i++)
{
if (document.getElementById('mySelect').options[i].text == seachtext)
{
alert('found');
break;
}
}
答案 4 :(得分:1)
if(!$('#select-box').find("option:contains('" + thevalue + "')").length){
//do stuff
}
&#13;