0

入力フィールドの値が配列内の数値と等しい場合に関数を起動しようとしています。

私は以下のコードを持っていますが、うまくいかないようです!!

var num1 = $("#people-number").val();
var Numberarray = [1,3,5,7,9];

if ($.inArray(num1,Numberarray) > -1) {
     $("#valid-people").hide();
     $("#non-valid-people").fadeIn();   
}

ヒントをいただければ幸いです.....

4

3 に答える 3

1

これは、配列に int 値があり、テストしている値が文字列であるためです。

$.inArray(parseInt(num1),Numberarray)

デモ:フィドル

于 2013-04-25T12:59:05.637 に答える
1

numberにキャストする必要がありますnum1

if ($.inArray(+num1,Numberarray) > -1)

また

if ($.inArray(parseInt(num1, 10),Numberarray) > -1)
于 2013-04-25T12:59:12.853 に答える
0

次の方法でテストします。

var num1 = $("#people-number").val(); var Numberarray = [1,3,5,7,9];

if ($.inArray(parseInt(num1),Numberarray) > -1) {
    $("#valid-people").hide();
    $("#non-valid-people").fadeIn();   
}

そして、任意の結果を返します。ここで動作します:http://jsfiddle.net/fjorgemota/q6WJA/

于 2013-04-25T12:59:18.867 に答える