2011-04-23 4 views
0

En jQuery, comment puis-je vérifier les valeurs de toutes les balises option à l'intérieur d'un certain div.class pour vous assurer qu'ils sont fixés?Vérifiez les valeurs de tous les champs d'une certaine classe

+0

Quand une option "set"? –

+0

Non, sur le formulaire de soumission - vous ne voulez pas vous assurer que l'utilisateur sélectionne autre chose que l'espace réservé par défaut. – stewart715

Répondre

3
var allSet = true; 

$(".myClass select").each(function(i, el){ 
    if($(":selected", el).length == 0){ 
     allSet = false; 
     return false; 
    } 
}); 

if(allSet == false){ 
    alert("All selects are not set. :("); 
} else { 
    alert("All selects are set. :)"); 
} 
+0

Merci beaucoup. – stewart715

+0

Vous êtes les bienvenus. – mattsven

2

En supposant que les attributs de valeur sont définies à quelque chose:

 <div class="myClass"> 
      <select> 
       <option value="">One</option> 
       <option value="2">Two</option> 
       <option value="3">Three</option> 
      </select> 
     </div> 

$("div.myClass option[value='']").length === 0; 
// => false 

Et s'ils ne sont pas:

 <div class="myClass"> 
      <select> 
       <option>One</option> 
       <option value="2">Two</option> 
       <option value="3">Three</option> 
      </select> 
     </div> 

$("div.myClass option[value]").length === 0; 
// => false 

Bien sûr, ces deux contrôles peuvent être combinés comme ceci:

0 === $("div.myClass option[value='']").length + 
     $("div.myClass option[value]").length; 
Questions connexes