Je souhaite créer un formulaire ou ma liste déroulante change en fonction du choix fait par l'utilisateur à la précédente liste déroulante(ou une case cochée).
et pour cela je voudrais savoir comment je peux faire pour récupérer la valeur choisie par l'utilisateur pour pouvoir lui appliquer mes conditions ?, j'ai pensé qu'il fallait utiliser JavaScript mais dans mes essais je ne récupérais pas la valeur choisie par l'utilisateur mais celle par défaut ,je m'explique mon JavaScript se lance au même moment que la page, il récupère la valeur par défaut et ne récupère pas une nouvelle valeur quand l'utilisateur coche une autre case .
Je ne comprends pas trop ce que tu veut faire, mais il semble que ce soit l'attribut "value" qui t’intéresse ici, un exemple : https://jsfiddle.net/phbacb3p/
Avec la solution du CSS, tu ne peux pas être dynamique, cest a dire que tu ne peux pas modifier le formulaire suivant en fonction de l'entrée sélectionner.
L'idéale selon moi serait de passer par JQuery.
Et faire quelque chose comme ceci:
1
2
3
4
5
6
$('#tonInput').change(function(){varvalue=$('#tonInput').val();//Et ensuite $('#tonInoputSuivant').show();//Ou autre fonction });
Jai juste un doute si la fonction 'change()' existe, maos comme je suis sur mobile je ne peux pas tester.
Il faut arrêter de recommander jQuery dès que quelqu'un veut faire un petit truc en JS.
En JS, voici un exemple complétement fonctionnel sur JSBin. 218B de JS quand compressé.
En gros, le fonctionnement est le suivant :
Le CSS initialise le tout en cachant toutes les options du select2 sauf celles qui correspondent à l'option sélectionné de base dans le select1.
Le JS agit à chaque fois que l'on modifie la valeur du select1.
On boucle sur toutes les options du select2. Si leur classe est égal à la valeur qu'il y a dans le select1, on les affiche (display = block), sinon on les cache (display = none).
Ensuite, on boucle une seconde fois sur toutes les options du select2. Dès qu'on trouve une option qui est visible (càd display = block), on sélectionne cette option et on arrête de boucler. Ça fait que la valeur sélectionné, après avoir changé d'option dans le select1, est la première option visible dans le select2.
Les erreurs et warnings sont dû au fait que je ne met pas de point virgule. JS fonctionne très bien sans, et je trouve qu'on arrive mieux à lire le code. Si il y a besoin de minifier, l'outil les ajoutera au besoin.
Avec la solution du CSS, tu ne peux pas être dynamique, c'est a dire que tu ne peux pas modifier le formulaire suivant en fonction de l'entrée sélectionnée.
? Il me semble que si. Tu dois peut-être faire de la redondance entre chaque "select", mais cela marche. Ce qui est plus gênant c'est que c'est bien plusieurs "select" différents, qui seront tous envoyés en post, et qui ne s'afficheront pas au même endroit.
Si tu as envie de n'avoir qu'un seul "select", c'est encore possible en CSS, mais un peu plus "sale".
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte