【发布时间】:2012-07-15 11:15:44
【问题描述】:
我更像是一个 PHP 人,而不是 JS - 我认为我的问题更多是语法问题..
我有一个小 jQuery 来“验证”并检查输入值。
单个单词可以,但我需要数组。
我正在使用 jQuery 的inArray()。
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 中不在数组中?
(相当于 PHP if (!in_array('1', $a)) - 我觉得它不起作用,需要使用这样的东西:!!~
【问题讨论】:
-
$.inArray(...) == -1
标签: jquery arrays validation