我更喜欢 PHP,而不是 JS - 我认为我的问题更多是语法问题..
我有一个小的 jQuery 来“验证”并检查输入值。
它适用于单个单词,但我需要数组。
我正在使用inArray()
jQuery 的 .
var ar = ["value1", "value2", "value3", "value4"]; // ETC...
jQuery(document).ready(function() {
jQuery("form#searchreport").submit(function() {
if (jQuery.inArray(jQuery("input:first"), ar)){
//if (jQuery("input:first").val() == "value11") { // works for single words
jQuery("#divResult").html("<span>VALUE FOUND</span>").show();
jQuery("#contentresults").delay(800).show("slow");
return false;
}
// SINGLE VALUE SPECIAL CASE / Value not allowed
if (jQuery("input:first").val() == "word10") {
jQuery("#divResult").html("YOU CHEAT !").show();
jQuery("#contentresults").delay(800).show("slow");
return false;
}
// Value not Valid
jQuery("#divResult").text("Not valid!").show().fadeOut(1000);
return false;
});
});
现在-这个if (jQuery.inArray(jQuery("input:first"), ar))
工作不正常..我输入的每个值都将被验证为 OK 。 (即使是空的)
我只需要验证数组 (ar) 中的值。
我也尝试过if (jQuery.inArray(jQuery("input:first"), ar) == 1) // 1,0,-1 tried all
我究竟做错了什么 ?
额外问题:如何在 jQuery 中不在数组中?
(相当于 PHPif (!in_array('1', $a))
- 我在某个地方看到它不起作用,需要使用这样的东西:!!~
您正在比较一个 jQuery 对象(jQuery('input:first')
) 到字符串(数组的元素)。
更改代码以便将输入的值(这是一个字符串)与数组元素进行比较:
if (jQuery.inArray(jQuery("input:first").val(), ar) != -1)
The inArray
方法返回-1
如果在数组中找不到该元素,那么您的bonus回答如何确定一个元素是否是not在数组中,使用:
if(jQuery.inArray(el,arr) == -1){
// the element is not in the array
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)