jQuery inArray无法正常工作

时间:2013-09-20 11:01:55

标签: javascript jquery

在我的验证中,必填字段可以更改。我有一个数组(必需)的输入ID是必需的。如果数组包含字符串'All',那么所有输入都是必需的。

我正在尝试使用JQuery.inArray()来确定是否需要。

function getIfRequired(id){
    console.log("id: "+id);
    console.log(required);
    console.log("inarray: "+jQuery.inArray(required, 'All'));

    if (jQuery.inArray(required, 'All') > -1){ return true; }
    else if(jQuery.inArray(required, id) != -1){ return true; }
    else{ return false; }
}

但它一直返回'-1'(未找到)。

这里是示例日志输出:

id: clientname
["clientname", "sourceid", "clientcountry","clienttown", "clienttownid", "typeoflaw"] 
inarray: -1 

id: clientname
["All"] 
inarray: -1 

为什么不起作用?

3 个答案:

答案 0 :(得分:11)

您可以转换值和数组参数,例如:

jQuery.inArray('All', required);

答案 1 :(得分:1)

你打错了jQuery.inArray。首先是值,然后是数组

请参阅http://api.jquery.com/jQuery.inArray/

jQuery.inArray('All', required);

而不是

jQuery.inArray(required, 'All');

答案 2 :(得分:0)

因为required

中找不到All

您将写如下

 console.log("inarray: "+jQuery.inArray('All', required));

Reference