Я новичок в jQuery (и, действительно, javascript вообще), и пытаюсь написать общую функцию, которая проверяет все текстовые поля и поля выбора на странице для ввода, возвращая «true», если один или больше ящиков на странице содержат по крайней мере один символ и «ложь», если нет (использование отключает кнопку поиска, если нет ввода). Я написал следующую функцию:jQuery - управление возвратом во время цикла
function hasUserProvidedInput() {
$('input[type="text"]').each(function() {
if ($(this).val() != '') {
alert("he has");
return true;
}
});
$('select').each(function() {
if ($(this).val() != '') {
return true;
}
});
return false;
}
Намерение состоит в том, что он будет перебирать все текстовые поля и выберите флажки на странице, а второй он поражает один со входом он возвращает управление вызывающей функции с значение «true» (я вызываю функцию с событиями keyup, прикрепленными к текстовым полям, и выбирает поля на странице). Если он выполняет итерацию через все эти элементы управления на странице и не находит ее со входом, она вернет false.
Я добавил предупреждение для целей отладки. Предупреждение работает правильно, чтобы указать, когда текстовое поле содержит вход, однако моя функция всегда возвращает значение «false». Может ли кто-нибудь пролить свет на меня, почему это происходит/как я могу это исправить? Благодарю.
Понял! Спасибо за объяснение – Andrew