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

您需要转换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 回答