Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.01.2013, 14:40
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Проверка наличия в массиве с условием
Здравствуйте.

Есть поле ввода значения и кнопка. При клике на кнопку, значение из поля добавляется в массив. Не могу справиться с условием, которое бы перед добавлением значения в массив проверяло его наличие в нем.

<div class="wrapper">
	<input type="text" />
	<input type="submit" />
</div>


var arr = [];
$("input[type='submit']").click(function() {
	var val = $("input[type='text']").val();
	if( $.inArray(val, arr) == 1 ) alert("Значение уже присутствует в массиве. Выберите другое значение");
	arr.push(val);
});
Ответить с цитированием
  #2 (permalink)  
Старый 05.01.2013, 14:56
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

так вы если при выполнении условия или сделайте return из функции или else добавте, так как у вас при любом условии значении добавляется в массив
Ответить с цитированием
  #3 (permalink)  
Старый 05.01.2013, 15:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

spo,
Вариант ...
var arr = [];
$("input[type='submit']").click(function() {
	var val = $("input[type='text']").val();
    if( $.inArray(val, arr) > -1 || val == "") alert("Значения нет или оно уже присутствует в массиве. Выберите другое значение");
    else  arr.push(val);
    });
Ответить с цитированием
  #4 (permalink)  
Старый 05.01.2013, 15:05
Аватар для spo
spo spo вне форума
Профессор
Отправить личное сообщение для spo Посмотреть профиль Найти все сообщения от spo
 
Регистрация: 11.05.2011
Сообщений: 213

Благодарю вас!

Рабочий код:
var arr = [];
$("input[type='submit']").click(function() {
	var val = $("input[type='text']").val();
	if( $.inArray(val, arr) !== -1 )
		alert("Значение уже присутствует в массиве. Выберите другое значение");
	else 
		arr.push(val);
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS проверка наличия html кода Dodik Общие вопросы Javascript 37 15.07.2012 21:23
проверка наличия определенного класса из нескольких shaltay jQuery 1 20.10.2011 20:14
Проверка данных формы составным условием? myafa Элементы интерфейса 8 01.04.2011 08:30
Проверка наличия текста в поле формы Glook jQuery 6 16.07.2010 19:46
Проверка наличия логина в БД при регистрации, с помощью ajax storng Общие вопросы Javascript 4 09.04.2010 20:24