2013-02-14 59 views
0

我試圖搜索一個HTML中的選項中進行選擇以找到選項具有以陣列搜索使用JavaScript在選擇框中的值/ jQuery的

例如匹配任何元素值,我有整數值的數組像這樣:

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> 

然後我遍歷上選擇的選項,試圖找到任何元素的值匹配ing:

$('#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); 

試圖作品

我在做什麼錯在這裏?

回答

2

值轉換爲多個第一:

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

.indexOf使用嚴格相等比較(同===)。 element.value返回一個字符串,而你的數組包含數字。

DEMO

+0

當你知道它總是簡單的。謝謝 – 2013-02-14 11:04:54

0

聲明數組,因爲這

var arrTaken = ['641', '640']; 
相關問題