2009-08-03 8 views
0
rules: { 
firstname: "required", 
lastname: "required", 
birthdate: { 
    date: true, 
    required: true, 
    minimumAge: true 
}, 
consent: { 
    required: function(element) { 
    return getAge($("#birthdate").val()) < 18; 
    $("#consent").show(); 
    } 
} 
}); 
$("#consent").hide(); 

Je souhaite afficher une case à cocher pour le consentement si l'âge de l'utilisateur est inférieur à 18 ans. Du code ci-dessus, pourquoi ne fonctionne-t-il pas?masquage et affichage de certains champs avec validation jquery

Répondre

1
return getAge($("#birthdate").val()) < 18; 

^vous retournez un booléen, et cette fonction est fait exécuter il ne traite pas le $ (« # consentement »). Show() .. que vous vouliez dire probablement envelopper cela dans un si déclaration:

if (getAge($('#birthdate').val()) < 18) { 
    $('#consent').show(); 
} 

Ou inverser le < à>, mais il fonctionne.

+0

Votre première réponse fonctionnera, mais l'inversion du < to > ne fonctionnera pas. Il va juste retourner l'opposé du code dans l'OP. – Marius

+0

ouais, j'ai d'abord été confus sur ce qu'il voulait donc s'il le voulait dans l'autre sens et j'ai mal lu tout ce qu'il avait à faire était de changer l'opérateur. –

Questions connexes