Я больше человек 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??
(эквивалент PHP if (!in_array('1', $a))
), я бы сказал, что это не сработает, и нужно использовать что-то вроде этого: !!~