2014-10-23 5 views
-1

Я использую filter(), чтобы проверить, есть ли пустые поля ввода. Как я могу игнорировать одно конкретное поле ввода, которое имеет тот же класс.Игнорировать поле ввода - фильтр() jQuery

$('#btn').click(function(){ 
     var findBlank = $(".common").filter(function(){ 
      return !$.trim($(this).val()).length; 
     }).length; 
     if(!findBlank) { 
     //go... 
     } 
}); 
+2

Что делает это конкретно? Я имею в виду, как вы ориентируетесь на этот вход? Класс, идентификатор, другой атрибут или что? –

+0

Я думаю, вы хотите использовать [.not()] (http://api.jquery.com/not/), но вы не указали достаточно подробностей, чтобы быть уверенным. – dave

+0

@ A.Wolff Я думаю, что '.common' - это селектор ввода. –

ответ

1

Добавить проверку класса в состоянии возврата, как показано ниже,

// ---------------------------------------------v Class check 
return !$.trim($(this).val()).length && !$(this).hasClass('yourclass'); 

Edit: Изменено использовать ID селектор

return !$.trim($(this).val()).length && this.id != 'stew' 
+0

Так почему бы не '$ (". Common: not (.yourclass) "). Filter (...);'? –

+0

@ A.Wolff Да, он мог использовать селектор ': not', но с помощью': not' добавляет дополнительную итерацию. Хотя неважно. –

+0

Ya и в любом случае фильтрация согласованного набора внутри фильтра() делает его, наконец, более удобочитаемым, хорошая точка;) –

Смежные вопросы