2017-04-23 33 views
0
<input type='text' class='inputx'> 
<input type='text' class='inputx'> 
<input type='text' class='inputx'> 
... 20 inputs. 

我需要检查是否有任何人是空的。检查空的很多输入,并得到一个单一的警报

$('.inputx').each(function(){ 
     if ($(this).val() == '') {console.log('empty');} 
    }); 

但是empty写了20次!
如果inputx中的任何一个为空,我如何才能获得唯一的控制台书写?

+0

* actual *问题很有可能通过向所有输入添加'required'来解决。 – JJJ

回答

1

您可以通过使用filter对付它,

var emptyElements = $('.inputx').filter(function(){ 
    return $(this).val() == '') 
}); 

if(emptyElements.length) console.log("Empty elements found!"); 

或者你可以通过使用循环简单的优化它,

var elems = $('.inputx') 
for(var x = 0; x < elems.length; i++){ 
if(elems.get(x).value.length == 0) break; 
} 

if(--x != elems.length) console.log("Empty elements found!"); 
+0

谢谢。我认为jQuery应该有一个函数,如'如果有任何inputx空...' – bonaca

+0

@bonaca是的。但不幸的是,它没有这样的一个。乐意效劳! :-) –

0

你可以试试值ATTR选择

if ($("input:text.inputX[value!='']").length >0) { 
    // empty elements found 
    } 
+0

我认为':empty'不会检查值。 –

+0

@RajaprabhuAravindasamy是的。尝试价值attr现在:) –

相关问题