Alors, comment puis-je autoriser un utilisateur à ne cocher qu'une seule case?
Je sais que les boutons radio sont «idéaux», mais pour mon objectif ... ce n'est pas le cas.
J'ai un champ dans lequel les utilisateurs doivent sélectionner l'une ou l'une des deux options, mais pas les deux. Le problème est que j'ai besoin que mes utilisateurs puissent également désélectionner leur option, et c'est là que les boutons radio échouent car une fois que vous sélectionnez le groupe, vous devez choisir une option.
Je vais valider les informations via php, mais j'aimerais quand même limiter les utilisateurs à une seule réponse s'ils veulent la donner.
Réponses:
Cet extrait:
la source
.radio
sélecteur aiderait. Merci de l'avoir signalé :)Vous souhaitez lier un
change()
gestionnaire afin que l'événement se déclenche lorsque l'état d'une case à cocher change. Ensuite, désélectionnez simplement toutes les cases à cocher à l'exception de celle qui a déclenché le gestionnaire:Voici un violon
En ce qui concerne le regroupement, si votre case à cocher «groupes» était tous des frères et sœurs:
Vous pouvez faire ceci:
Voici un autre violon
Si vos cases à cocher sont regroupées par un autre attribut, tel que
name
:Vous pouvez faire ceci:
Voici un autre violon
la source
Les boutons radio sont idéaux. Vous avez juste besoin d'une troisième option "ni l'un ni l'autre" sélectionnée par défaut.
la source
Il y a déjà quelques réponses à cela basées sur du JS pur, mais aucune d'entre elles n'est aussi concise que je le souhaiterais.
Voici ma solution basée sur l'utilisation de tags de nom (comme pour les boutons radio) et de quelques lignes de javascript.
la source
Cela devrait fonctionner pour n'importe quel nombre de cases à cocher dans le formulaire. Si vous en avez d'autres qui ne font pas partie du groupe, configurez les sélecteurs sur les entrées applicables.
la source
Voici une solution HTML et JavaScript simple que je préfère:
// fonction js pour n'autoriser la vérification que d'une seule case à cocher le jour de la semaine:
la source
Que ce code vous aide.
Lien de travail Cliquez ici
la source
En vous basant sur la réponse de billyonecan , vous pouvez utiliser le code suivant si vous avez besoin de cet extrait pour plusieurs cases à cocher (en supposant qu'ils ont des noms différents).
la source
Bien que JS soit probablement la voie à suivre, cela pourrait être fait avec HTML et CSS uniquement.
Ici, vous avez un faux bouton radio qui est vraiment une étiquette pour un vrai bouton radio caché. En faisant cela, vous obtenez exactement l'effet dont vous avez besoin.
Voyez-le ici: https://jsfiddle.net/tn70yxL8/2/
Maintenant, cela suppose que vous avez besoin d'étiquettes non sélectionnables.
Si vous étiez prêt à inclure les étiquettes, vous pouvez techniquement éviter de répéter l'étiquette «décocher» en modifiant son texte en CSS, voir ici: https://jsfiddle.net/7tdb6quy/2/
la source
Exemple avec AngularJs
la source
Avec du vieux javascript.
edit: également possible
la source
la source
Si quelqu'un a besoin d'une solution sans bibliothèques javascript externes, vous pouvez utiliser cet exemple. Un groupe de cases à cocher autorisant les valeurs 0..1. Vous pouvez cliquer sur le composant de case à cocher ou sur le texte d'étiquette associé.
la source
Ma version: utiliser des attributs de données et du JavaScript vanille
la source
Nécromancie:
Et sans jQuery, pour une structure de case à cocher comme celle-ci:
vous le feriez comme ceci:
la source
la source