javascript - 使用 javascript/jQuery 在选择框中搜索值

标签 javascript jquery dom

我正在尝试搜索 HTML 选择中的选项,以查找哪些选项的值与数组中的任何元素匹配

例如,我有一个整数值数组,如下所示:

var arrTaken = [641, 640];

我有一个像这样的选择元素:

<select id="Substance3" name="Substance_3">
<option value="640">A</option>
<option value="641">B</option>
<option value="642">C</option>
<option value="643">D</option>
<option value="644">E</option>
</select>

然后我循环遍历选择上的选项,试图找到任何匹配的元素值:

$('#Substance3 > option').each(function(index, element)
{
    console.log('current element value is: ' + element.value);
    var index = arrTaken.indexOf(element.value);
    console.log('element is at index: ' + index);
});

问题是索引返回为-1,这意味着在数组中找不到该值。但是,尝试使用

var index = arrTaken.indexOf(640);

作品

我在这里做错了什么?

最佳答案

先将值转换为数字:

 var index = arrTaken.indexOf(+element.value);
 //                           ^ unary plus

.indexOf 使用严格相等比较(与 === 相同)。 element.value 返回一个字符串,而您的数组包含数字。

DEMO

关于javascript - 使用 javascript/jQuery 在选择框中搜索值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873255/

相关文章:

Javascript 以 ID 中的子元素为目标

javascript - jQuery表格搜索切表头

javascript - 在 Bubble.is 上安装 JavaScript 包

javascript - orderBy : sort by a user selected predicate and predefined secondary

javascript - Google Maps v3 中的 "marker.setVisible(false)"和 "marker.setMap(null)"有什么区别?

javascript - 将光标移动到下一个文本字段按 Enter

javascript - 为什么 JavaScript touchstart 和 mousedown 事件同时触发?

java - gwt dom input元素类型设置

javascript - XPath根据另一个节点的位置按位置选择一个节点

javascript - 仅在模糊或松散焦点时验证输入