Вы проверяете значение первого элемента всегда вместо того, чтобы проверять число пустых элементов, используя метод filter()
с обратным вызовом, который повторяется и в обратном вызове this
ссылается на элемент.
$('.btn').click(function(){
if($('.req').filter(function(){ return $(this).val() === ''; }).length === 0) {
$(this).removeClass('warning');
}else{
$(this).addClass('warning');
}
});
ОБНОВЛЕНИЕ: Если вы хотите применить стиль к входным данным, вы можете использовать метод each()
для итерации и toggleClass()
метод для переключения класса на основе условия.
$('.btn').click(function(){
// iterate over elements
$('.req').each(function(){
// toggle class based on value
$(this).toggleClass('warning', this.value === '');
});
});