Я больше сторонник 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))
-Я где-то знал, что это не сработает, и нужно использовать что-то вроде этого:!!~