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

Bla*_*der 11 javascript dom

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

我正在寻找类似的东西 document.getElementById('selbox').valueExists('myval');

小智 8

使用 ecma6:

let option = document.getElementById('selbox').querySelector('[value="' + my_value + '"]');
Run Code Online (Sandbox Code Playgroud)

这将找到包含属性 value="my_value" 的第一个元素。

PS:对不起我的西班牙语:)


And*_*eas 6

您无法扩展select-element所具有的方法.因此,如果没有额外的函数来检查a中是否存在值,就不会有解决方案select.

没有循环的"解决方案"可以是以下......

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

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

  • 不,它不会.看看http://jsbin.com/ewevu3并自己测试:) (2认同)

Hai*_*vgi 2

你可以用 jquery 来做

使用属性等于选择器

见于

使用 JQuery 检查值是否在选择列表中

在javascript中你可以像这样运行

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