Trasnférer valeurs à select option
Fermé
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
-
3 avril 2017 à 11:55
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 4 avril 2017 à 16:00
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 4 avril 2017 à 16:00
A voir également:
- Trasnférer valeurs à select option
- Option booster free avis - Accueil - Guide opérateurs et forfaits
- Option d'ergonomie - Guide
- Cette option de connexion est désactivée en raison des échecs des tentatives de connexion - Forum Windows 10
- Aucune option d'alimentation n'est actuellement disponible - Guide
- Option internet google chrome ✓ - Forum Réseaux sociaux
2 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
3 avril 2017 à 12:11
3 avril 2017 à 12:11
Salut,
Qu'est ce que tu as fait jusque là ?
On pourra te donner une solution toute fait, mais c'est vraiment pas ma façon de procéder :)
Qu'est ce que tu as fait jusque là ?
On pourra te donner une solution toute fait, mais c'est vraiment pas ma façon de procéder :)
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
4 avril 2017 à 09:39
4 avril 2017 à 09:39
Voilà comment j'aurais fait la chose...
Si tu as des questions, hésite pas
Si tu as des questions, hésite pas
<!DOCTYPE html> <html> <head> <title>TEST JS</title> </head> <body> <form class="form-horizontal"> <div class="form-group"> <label for="lettre1" class="col-sm-2 control-label">Orange</label> <div class="col-sm-10"> <select name="lettre1" id="lettre1" class="form-control" onclick="selectInitNext(1)"> </select> </div> </div> <div class="form-group"> <label for="lettre2" class="col-sm-2 control-label">Bleu</label> <div class="col-sm-10"> <select name="lettre2" id="lettre2" class="form-control" onclick="selectInitNext(2)"> </select> </div> </div> <div class="form-group"> <label for="lettre3" class="col-sm-2 control-label">Violet</label> <div class="col-sm-10"> <select name="lettre3" id="lettre3" class="form-control" onclick="selectInitNext(3)"> </select> </div> </div> <div class="form-group"> <label for="lettre4" class="col-sm-2 control-label">Jaune</label> <div class="col-sm-10"> <select name="lettre4" id="lettre4" class="form-control" onclick="selectInitNext(4)"> </select> </div> </div> <div class="form-group"> <label for="lettre5" class="col-sm-2 control-label">Vert</label> <div class="col-sm-10"> <select name="lettre5" id="lettre5" class="form-control" onclick="selectInitNext(5)"> </select> </div> </div> <div class="form-group"> <label for="lettre6" class="col-sm-2 control-label">Rose</label> <div class="col-sm-10"> <select name="lettre6" id="lettre6" class="form-control"> </select> </div> </div> </form> <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script> <script> var values = [ 'S', 'A', 'L', 'U', 'T', 'S' ]; var selected_index = []; function selectInit(num) { var select = $('#lettre' + num); var html = '<option value="">...</option>'; for (var i = 0; i < 6; i++) { if (selected_index.indexOf(i) === -1) { html += '<option value="' + i + '">' + values[i] + '</option>'; } } select.html(html); } function selectInitNext(num) { var val = $('#lettre' + num).val(); if (num >= 6 || val === '') { return; } $('#lettre' + (num + 1)).prop('disabled', false); selected_index[num] = parseInt(val); selectInit(num + 1); } selectInit(1); $('#lettre2').prop('disabled', true); $('#lettre3').prop('disabled', true); $('#lettre4').prop('disabled', true); $('#lettre5').prop('disabled', true); $('#lettre6').prop('disabled', true); </script> </body> </html>
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
4 avril 2017 à 12:02
4 avril 2017 à 12:02
Bonjour ThEBiShOp et merci encore pour ton code.
Je constate quelques erreurs mais globalement ça peut aller, lorsqu'on sélectionne la lettre de la première liste et qu'on l'a modifie par exemple, le reste ne prends plus la norme d'afficher le reste.
Aussi, le value affiche 1,2,3,4,5,6 au lieu de S,A,L,U,T,S
Penses tu pouvoir faire quelque chose ?
En tout cas merci pour ton aide !
Je constate quelques erreurs mais globalement ça peut aller, lorsqu'on sélectionne la lettre de la première liste et qu'on l'a modifie par exemple, le reste ne prends plus la norme d'afficher le reste.
Aussi, le value affiche 1,2,3,4,5,6 au lieu de S,A,L,U,T,S
Penses tu pouvoir faire quelque chose ?
En tout cas merci pour ton aide !
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
4 avril 2017 à 14:06
4 avril 2017 à 14:06
Si tu prends comme value S,A,L,U,T,S, comment tu fais la distinction entre le 1er et S et le dernier ? :)
Sinistrus
Messages postés
1010
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2023
17
>
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
4 avril 2017 à 14:47
4 avril 2017 à 14:47
Oh ! Ca ce n'est pas un soucis, SALUTS est un mot d'exemple, tout comme PAQUET ou tout autre mot de 6 lettres... :p
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
4 avril 2017 à 16:00
4 avril 2017 à 16:00
Ce que je veux dire, c'est que dès que tu auras 2 fois la même lettre dans ton mot, ce qui arrive tout de même assez fréquemment dans la langue française, le script ne pourra pas fonctionner correctement.
3 avril 2017 à 12:58
Jusque là, tout ce que j’arrive à faire c'est de transférer les éléments du select1 à un autre... vu que je ne maitrise pas javascript, je ne sais pas vraiment où j'en suis.
J'ai essayé plusieurs tutos mais je trouves :
- Passer les élements d'un select à un autre
- Supprimer l'option choisie dans un select...
Bref, je n'arrives pas à trouver ce que je cherche :\
3 avril 2017 à 14:16
Je commencerais pas créer un tableau javascript recensant toutes les valeurs de base. Puis j'initalise le premier select avec toutes les valeurs.
Ensuite, à la sélection d'une valeur, j'initialise le 2ème select avec les valeurs de base moins la valeur du 1er select.
A la sélection d'une valeur d'une valeur dans le 2ème select, j'initialise le 3ème select avec les valeurs de base, moins les valeurs déjà sélectionnées.
Etc...
Tu peux améliorer le truc en désactivant tous les select au départ, sauf le 1er et en activant le select suivant dès que le précédent est sélectionné.
Pour récupérer les valeurs à initialiser à chaque fois, l'idéal est de créer une fonction gérant ça pour toi. Tu passes le tableau de base, puis le tableau des valeurs sélectionnées, et tu retournes la différence (il y a peut être même une fonction de base qui le fait)
Pour terminer, je ferai le tout en utilisant le jQuery, qui facilite grandement la manipulation d'éléments HTML.
Voilà voilà pour le principe.
3 avril 2017 à 15:31