2012-11-16 27 views
8

Tôi có một tập lệnh jQuery để kiểm tra xem ít nhất một trường nhập có chứa văn bản hay không nhưng nó không kiểm tra tùy chọn đã chọn của tôi. Ai có thể vui lòng giúp tôi thực hiện nó?Kiểm tra xem có ít nhất một trường nhập được điền vào jQuery

Kịch bản:

$(function(){ 
    $("#myform").submit(function(){ 

     var valid=0; 
     $(this).find('input[type=text]').each(function(){ 
      if($(this).val() != "") valid+=1; 
     }); 

     if(valid){ 
      alert(valid + " inputs have been filled"); 
      return true; 
     } 
     else { 
      alert("error: you must fill in at least one field"); 
      return false; 
     } 
    }); 
}); 

và HTML cho thử nghiệm này:

<form action="/echo/html" id="myform" method="post"> 
<input type="text"><br> 
<input type="text"><br> 
<input type="text"><br> 

<select name="something" id="something" type="text"> 
<option value=""></option> 
<option value="one">Option one</option> 
<option value="two">Option two</option> 
<option value="three">Option three</option> 
</select> 

<input type="submit"/> 
</form>​ 

Trả lời

11

Đối với một tuyên bố để lấy cả 'chọn' và 'đầu vào' yếu tố, chỉ cần thay đổi selector jQuery đơn của bạn để một công cụ chọn nhiều, như vậy:

$(this).find('input[type=text], select').each(function(){ 
      if($(this).val() != "") valid+=1; 
     }); 
Các vấn đề liên quan