2
var arr = [ "One", "Two", "Three" ];

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

これは「OK」を警告していますが、「何とか何とか」は配列にありません...何が間違っていますか?

4

3 に答える 3

9

このjQuery.inArray関数は常に値を返します。

説明: 配列内で指定された値を検索し、そのインデックス (見つからない場合は -1) を返します。

ドキュメント: http://api.jquery.com/jQuery.inArray/

コードを次のように変更します。

if (jQuery.inArray('blah blah', arr)) >= 0) {
    alert('Ok');
}
于 2012-10-11T20:20:48.257 に答える
3

試す :

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

それ以外の :

if (jQuery.inArray("blah blah", arr)) {
于 2012-10-11T20:20:24.637 に答える
3

項目が見つからない場合、jQuery.inArray は -1 を返します。残念ながら、JavaScript では -1 は真の値です。

-1 をチェックしてください。

于 2012-10-11T20:20:34.577 に答える