JQuery Valider la liste Déroulante
Je suis en utilisant le plugin de validation de ici. Je suis en train de forcer l'utilisateur à sélectionner une option dans la liste déroulante, alors, voici mon html pour la liste:
Select the best option<br/>
<select name="dd1" id="dd1">
<option value="none">None</option>
<option value="o1">option 1</option>
<option value="o2">option 2</option>
<option value="o3">option 3</option>
</select> <br/><br/>
Et voici le jquery validation des trucs:
$("#everything").validate({
onsubmit: true,
rules: {
dd1: {
required: {
depends: function(element) {
return $("#dd1").val() == "none";
}
}
},
messages: {
dd1: {
required: "Please select an option from the list, if none are appropriate please select 'Other'",
},
}
});
Je ne vois pas de problèmes, mais même quand je le sélectionnez aucun dans la liste déroulante et cliquez sur envoyer, il ne sera pas de la valider, et donc ne pas afficher les messages. Quelqu'un peut me dire ce que je fais mal?
- Toute erreur javascript dans la console ? Peut-être pas le problème mais la bande inutile des virgules, comme après "dd1" dans "messages"
InformationsquelleAutor Richard | 2012-09-17
Vous devez vous connecter pour publier un commentaire.
La la documentation pour
required()
états:En ayant
value="none"
dans votre<option>
tag, vous êtes à la prévention de la validation de l'appel à partir de n'être jamais en fait. Vous pouvez également supprimer votre règle de validation personnalisée, simplifier votre code. Voici un jsFiddle montrant en action:http://jsfiddle.net/Kn3v5/
Si vous ne pouvez pas changer le
value
attribut à la chaîne vide, je ne sais pas quoi vous dire...je ne pouvais pas trouver tout de façon à obtenir pour valider le contraire.Comme nous le savons jQuery valider plugin invalide Sélectionnez le champ quand il a de la valeur à blanc. Pourquoi ne pas régler sa valeur à vide lorsque requis.
Oui, vous pouvez valider sélectionnez le champ avec quelques valeur prédéfinie.
Nous pouvons mettre en valeur vide pour sélectionner un champ, mais dans certains cas nous pouvons pas. Ex: à l'aide d'une fonction qui génère un champ Déroulant pour vous et vous n'avez pas le contrôle.
J'espère que cela aide qu'il m'aide.
C'était ma solution:
J'ai ajouté nécessaire à la balise select:
Façon la plus simple de le faire est par l'ajout de
required
dans votreselect
J'ai modifié ton code un peu. Voici une version de travail (pour moi):