Попытка использовать jquery для создания ввода текста с несколькими неправильными ответами

0

Я пытаюсь создать страницу для друга с аллергией, где пользователи могут вводить продукт питания и получать ответ о том, имеет ли мой друг аллергию на него. Я создал массив со всей его пищевой аллергии, и намерение заключается в том, что, когда пользователь вводит какие-либо данные о подаче пищи и хитов, страница будет отвечать предупреждением.

Я новичок в jquery и собрал несколько близких примеров, но, очевидно, я пропустил какой-то соединительный элемент. Любая помощь будет оценена!

Рабочая демонстрация: http://jsfiddle.net/ssprockett/Ct2TU/1/

Вот до сих пор jquery:

$('.submit').click(function () {
   if( $.inArray( $("input:text").val().toUpperCase(), ["cantaloupe", "almonds", "almond flour", "almond flour", "almond milk", "hazel nuts", "hazelnuts", "filberts", "pecans", "peanuts", "english walnuts", "watermelons", "grapefruit", "orange", "garlic", "mustard", "green pepper", "navy bean", "string bean", "cabbage", "carrot", "cauliflower", "lettuce", "bass", "peas", "sweet potatoes", "squash", "clams", "barley", "oat", "soy", "wheat", "rice", "gluten", "sea bass", "mustard seeds",  ] ) > -1 )  {
        alert("Nope. This will make him sick.");

    } else {

        alert("Yep. This is fine.");
    }
Теги:
arrays
submit

3 ответа

2
Лучший ответ

Есть несколько незначительных проблем:

  1. Вы не включаете jQuery в jsfiddle
  2. У вас не было закрытия }) для функции привязки кликов
  3. Вы должны использовать .toLowerCase, а не .toUpperCase потому что все значения вашего массива имеют нижний регистр.

http://jsfiddle.net/Ct2TU/4/

1

toUpperCase() делает все эти значения ложными. Попробуйте toLowerCase()

0

Вот один рабочий пример:

http://jsfiddle.net/jA7MB/

var allergy = ["cantaloupe", "almonds", "almond flour", "almond flour", "almond milk", "hazel nuts", "hazelnuts", "filberts", "pecans", "peanuts", "english walnuts", "watermelons", "grapefruit", "orange", "garlic", "mustard", "green pepper", "navy bean", "string bean", "cabbage", "carrot", "cauliflower", "lettuce", "bass", "peas", "sweet potatoes", "squash", "clams", "barley", "oat", "soy", "wheat", "rice", "gluten", "sea bass", "mustard seeds"];

$( ".submit" ).click(function() {
  if(($.inArray($('#food').val().toLowerCase(), allergy)) != -1){
   alert( "allergic!")
  } else alert("not allergic!");

});

Можешь попробовать.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню