Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要帮助比较数组和变量吗_Javascript_Jquery - Fatal编程技术网

Javascript 需要帮助比较数组和变量吗

Javascript 需要帮助比较数组和变量吗,javascript,jquery,Javascript,Jquery,嗨,我好像没弄好。基本上,如果选择列表的值是USA、CAN或MEX,则应返回true。任何其他值都应返回false。仅当值为USA时才返回true $.validator.addMethod( "ReutersNA", function(value, element) { var selectedCountry = $("#Country").val(); var NorthAmerica = new Array("USA","CAN","MEX"); if($.inAr

嗨,我好像没弄好。基本上,如果选择列表的值是USA、CAN或MEX,则应返回true。任何其他值都应返回false。仅当值为USA时才返回true

$.validator.addMethod(
"ReutersNA",
function(value, element) {
    var selectedCountry = $("#Country").val();
    var NorthAmerica = new Array("USA","CAN","MEX");
    if($.inArray(selectedCountry,NorthAmerica)) {
        return false;
    } else return true;
}, "Cannot select Reuters News outside of North America."
);
$.inArray返回找到它的索引,或-1。索引0是falsy,因此在这种情况下,它转到else子句并返回true。对于其他方面,它返回了false


$.inArray返回找到它的索引,或-1。索引0是falsy,因此在这种情况下,它转到else子句并返回true。对于其他方面,它返回了false

它返回索引。如果它真的找到了,你让它返回错误

尝试将其更改为:

if($.inArray(selectedCountry,NorthAmerica) > 0) {
    return true;
} 
else{

   return false;
}

它返回索引。如果它真的找到了,你让它返回错误

尝试将其更改为:

if($.inArray(selectedCountry,NorthAmerica) > 0) {
    return true;
} 
else{

   return false;
}

我不是Jquery专家,但这是来自for.inArray的,您应该知道inArray返回索引,并且:

因为JavaScript将0视为 大致等于false,即0== 错误,但是0!== false,如果检查数组中是否存在值,则 需要检查 如果它不等于或大于-1

因此,您应该尝试一下!=-1或>-1,如下所示

if($.inArray(selectedCountry,NorthAmerica) != -1)  


我不是Jquery专家,但这是来自for.inArray的,您应该知道inArray返回索引,并且:

因为JavaScript将0视为 大致等于false,即0== 错误,但是0!== false,如果检查数组中是否存在值,则 需要检查 如果它不等于或大于-1

因此,您应该尝试一下!=-1或>-1,如下所示

if($.inArray(selectedCountry,NorthAmerica) != -1)  


谢谢你的帮助。使用>0导致它在数组中的第一个0项上返回false。非常感谢!谢谢你的帮助。使用>0导致它在数组中的第一个0项上返回false。非常感谢!是的,我看到它删除了if语句,我就是无法让它工作!我很想知道怎么做,代码越小越好@脏兮兮的,一开始我有个打字错误而不是!=。这个版本应该是正确的,我认为它更可读。我道歉,但是我不能得到$.validator.addMethod ReutersNA,Fuffic Valuy,元素{VaRealDeDealEng= $No.v.;var NaseAdie=新的ArayAuSUS,CAN,MEX;返回$.InAraySeleDead国家,北美==1;},不能选择北美洲以外的路透社新闻。 ; 到work@Dirty,我的意思是我原来的代码,它有==,是错误的。我当前的答案是!=,应该是正确的。@Josh K-我只需要在IQBAS、IQPRE为checkedYes的情况下添加它,我看到它删除了if语句,我就是无法让它工作!我很想知道怎么做,代码越小越好@脏兮兮的,一开始我有个打字错误而不是!=。这个版本应该是正确的,我认为它更可读。我道歉,但是我不能得到$.validator.addMethod ReutersNA,Fuffic Valuy,元素{VaRealDeDealEng= $No.v.;var NaseAdie=新的ArayAuSUS,CAN,MEX;返回$.InAraySeleDead国家,北美==1;},不能选择北美洲以外的路透社新闻。 ; 到work@Dirty,我的意思是我原来的代码,它有==,是错误的。我当前的答案是!=,应该是正确的。@Josh K-我需要在那里添加,以便仅在IQBAS、IQPRE被选中时执行此操作