JS jQuery - проверить, есть ли значение в массиве
Я скорее человек из 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))
не работает правильно .. каждое значение, которое я введу, будет подтверждено как ОК. (даже пустой)
Мне нужно проверить только значения из массива (ар).
Я пробовал такжеif (jQuery.inArray(jQuery("input:first"), ar) == 1) // 1,0,-1 tried all
Что я делаю неправильно ?
Бонусный вопрос: как сделать НЕ в массиве в JQuery ??
(эквивалент PHPif (!in_array('1', $a))
- Я думаю, что это не будет работать, и нужно использовать что-то вроде этого:!!~