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))работает неправильно.. каждое значение, которое я ввожу, будет проверено как OK. (даже пустой)

Мне нужно проверить только значения из массива (ar ).

Я тоже пробовалif (jQuery.inArray(jQuery("input:first"), ar) == 1) // 1,0,-1 tried all

Что я делаю не так ?

Бонусный вопрос :как сделать НЕ в массиве в jQuery ?? (эквивалент PHPif (!in_array('1', $a))-Я где-то знал, что это не сработает, и нужно использовать что-то вроде этого:!!~

21
задан Obmerk Kronen 15 July 2012 в 11:15
поделиться