2012-10-11 67 views
2
var arr = [ "One", "Two", "Three" ]; 

$('select[name="class"]').change(function() { 
    if (jQuery.inArray("blah blah", arr)) { 
     alert("OK"); 
    } 
}); 

這是警告「確定」,但「等等等等」不在數組中......我做錯了什麼?JQuery inArray returns true

回答

9

jQuery.inArray的功能始終返回值:

描述:搜索一個陣列內的指定值,並返回其 指數(或-1,如果未找到)。

文檔:http://api.jquery.com/jQuery.inArray/

你的代碼更改爲:

if (jQuery.inArray('blah blah', arr)) >= 0) { 
    alert('Ok'); 
} 
3

嘗試:

if (jQuery.inArray("blah blah", arr) >-1) { 

代替:

if (jQuery.inArray("blah blah", arr)) { 
3

jQuery.inArray返回-1,如果該項目沒有找到。不幸的是,-1是JavaScript中的真值。

檢查-1,你很好。