Javascript 需要帮助比较数组和变量吗
嗨,我好像没弄好。基本上,如果选择列表的值是USA、CAN或MEX,则应返回true。任何其他值都应返回false。仅当值为USA时才返回trueJavascript 需要帮助比较数组和变量吗,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
$.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被选中时执行此操作