2013-09-06 23 views
28

Próbuję znaleźć wszystkie pola z atrybutem required i powinny one być również visible. Ponieważ strona może również ukrywać wymagane pola. Oto, co starałem:jQuery: Znajdź wszystkie widoczne wymagane pola

function validateRequiredFields() 
{ 
    $('input,textarea,select').attr('required',true).filter(':visible:first').each(function(i, requiredField){ 

     if($(requiredField).val()=='') 
     { 
      alert($(requiredField).attr('name')); 
     } 
    }); 
} 
+0

dlaczego masz pierwszy selektor, jeśli próbujesz znaleźć wszystko? –

+1

attr ("required", true) ustawia wartość, nie sprawdzając jej. –

Odpowiedz

57

Jeśli chcesz znaleźć wejście, textarea, lub wybierz elementy, które mają atrybut required i visible używają has attribute selector:

$('input,textarea,select').filter('[required]:visible') 

lub

$(':input[required]:visible')//might be little costlier 
Powiązane problemy