嗨,我似乎无法正确理解。基本上,如果选择列表的值为“ 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."
);
最佳答案
我不是Jquery专家,但这来自.inArray的Jquery Site,您应该意识到inArray返回索引,并且:
“因为JavaScript将0视为
大致等于false(即0 ==
假,但0!==
false),如果我们要检查数组中是否存在值,则我们
需要检查
如果它不等于(或大于)-1。”
因此,您应该在if语句中尝试!= -1或> -1,如下所示
if($.inArray(selectedCountry,NorthAmerica) != -1)
要么
if($.inArray(selectedCountry,NorthAmerica) > -1)
关于javascript - 需要帮助将数组与var比较,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3215927/