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

使用javascript/jQuery在选择框中搜索值,javascript,jquery,dom,Javascript,Jquery,Dom,我试图搜索HTML select中的选项,以查找哪些选项的值与数组中的任何元素匹配 例如,我有一个整数值数组,如下所示: var arrTaken = [641, 640]; 我有一个选择元素,如下所示: <select id="Substance3" name="Substance_3"> <option value="640">A</option> <option value="641">B</option> <option

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

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

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>
问题是索引返回为-1,这意味着在数组中找不到该值。然而,尝试

var index = arrTaken.indexOf(640);
工作


我做错了什么?

首先将值转换为数字:

 var index = arrTaken.indexOf(+element.value);
 //                           ^ unary plus
.indexOf
使用严格的相等比较(与
=
相同)
element.value
返回字符串,而数组包含数字


将数组声明为

var arrTaken = ['641', '640'];

当你知道的时候,事情总是很简单的。谢谢
var arrTaken = ['641', '640'];