2013-07-19 36 views
5

Làm cách nào để tôi thử nghiệm, nếu bất kỳ đầu vào nào được chọn bị trống?jQuery kiểm tra xem có bất kỳ đầu vào nào đã chọn trống không

tôi nhận được đầu vào của tôi theo cách này:

$myinputs = $('.inputstotest'); 

và sẽ kiểm tra đầu vào duy nhất với:

if ($.trim($this.val()) == '') 

nhưng làm thế nào để kiểm tra một nhóm và trả về true nếu tất cả đều không có sản phẩm nào hay sai nếu có (ít nhất một) trống?

Trả lời

2
var result = true; 
$('.inputstotest').each(function() { 
    if ($.trim($(this).val())) == '') { 
     result = false; 
     return false; // Terminate the .each loop 
    } 
}); 
return result; 
6

tôi muốn đề nghị:

var someEmpty = $('.inputstotest').filter(function(){ 
    return $.trim(this.value).length === 0; 
}).length > 0; 

Với trên someEmpty sẽ là một Boolean, true nếu có inputs đó đẳng cấp tên với một trimmed- value bằng số không, nếu không có false đầu vào của tên lớp đó có một trimmed- value có chiều dài bằng 0.

Tài liệu tham khảo:

+0

Tôi thích cách này +1 –

2

Bạn có thể làm

var $myinputs = $('.inputstotest'); 
if($myinputs.filter(function() { return $.trim(this.value) == ''; }).length > 0) { 
    //There is at least one empty input 
} 
0

gì nếu bạn đã từng đầu vào có cùng lớp ví dụ. class="checkInput" các jquery dùng để luân chuyển chúng bằng cách sử dụng mã bên dưới:

var anyBlank = false; 
$('.checkInput').each(function(){ 
    if($(this).val() == ''){ 
     anyBlank = true; 
    } 
}); 

if(anyBlank){ 
    alert('There is at least 1 input that is blank'); 
} 
2
var invalidInputs = $('.inputstotest').filter(function() { 
    return $.trim(this.value) == ''; 
}); 

if (invalidInputs.length > 0) { 
    //some were invalid 
    invalidInputs.after('<span>Please enter a value!</span>'); 
} 
Các vấn đề liên quan