SELECTION DE VALEURS A PARTIR DE 2 LISTES À CHOIX MUPLIPLES
ttl5v
Messages postés19Date d'inscriptionmardi 20 avril 2004StatutMembreDernière intervention31 août 2006
-
31 août 2006 à 16:52
Utilisateur anonyme -
20 mai 2011 à 00:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Super exactement ce que je cherchais, avec quelques amélioration toutefois.
J'ai modifié les lignes 28 et 41
- J'ai forcer la largeur des deux listes, c'est quand même plus agréable de garder les listes à la même largeur quelque soit le contenu.
- j'ai ajouter sur les deux liste l’évènement double clique pour basculer un seul item.
gmni
Messages postés91Date d'inscriptionmercredi 6 novembre 2002StatutMembreDernière intervention20 mars 2009 7 mai 2011 à 10:58
bravo!
monsieurzouzou
Messages postés14Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention17 mai 2007 28 oct. 2009 à 16:44
bon en fait j'ai trouvé la solution qui m'est adaptée: dans mon cas, sachant que la liste de droite est forcément vide au chargement de la page, j'ai enlevé le code qui génère la ligne de droite:
// on remplit la liste de selection PAR DEFAUT en chargeant la page
for(i=0 ; i<colonne_init.length ; i++)
c2.options[i] = new Option(colonne_texts[colonne_init[i]],colonne_init[i]);
merci pour les commentaires nombreux dans ta source, ça m'a fait gagné beaucoup de temps!
monsieurzouzou
Messages postés14Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention17 mai 2007 28 oct. 2009 à 16:40
en effet, c'est du "quick and dirty" mais ça marche!
cependant, ça règle le problème de la valeur de document.configuration.colonne faussée, mais pas la ligne vide créée dans la liste de droite, ce qui est disgracieux et assez déconcertant pour l'utilisateur (si ce n'était que moi ça me serait égal).
Merci pour cette astuce qui contourne le problème, ça rend le script tout à fait utilisable :)
ryosama
Messages postés35Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention 2 février 2009 28 oct. 2009 à 15:48
monsieurzouzou
Messages postés14Date d'inscriptionjeudi 10 mars 2005StatutMembreDernière intervention17 mai 2007 28 oct. 2009 à 15:36
super source merci :)
je l'ai adapté à des données provenant d'une base mysql, aucun problème à partir du moment où les deux listes sont générées à la volée et non vides.
Néanmoins un seul problème: lorsque la liste de droite (liste des valeurs pré-sélectionnées) est vide (var init_droite = ''), une valeur "undefined" (Firefox) ou vide (sous IE) est crée par défaut quand même, ce qui fausse le résultat de document.configuration.colonne.value.
J'ai cherché mais j'avoue ne pas être calé en javascript pour me débarrasser de cette valeur vide, quelqu'un a une idée?
merci
grislienski
Messages postés4Date d'inscriptionsamedi 15 mai 2004StatutMembreDernière intervention16 octobre 2008 21 nov. 2008 à 16:26
Super script, il marche super bien.
Juste une question, comment faire pour basculer un élément de la liste avec un double clic ?
je suppose qu'il faut ajouter une truc du genre : ondblclick="add_colonne()" sur chaque élément mais je ne sait pas trop ou ni comment vu que la création des listes est dynamique :(
Cela ferais un plus a ce code :)
tarmoussimus
Messages postés13Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention18 juillet 2008 18 juil. 2008 à 12:25
Pour un débutant comme moi! C'est super pour l'exercice...
tarmoussimus
Messages postés13Date d'inscriptionvendredi 6 mai 2005StatutMembreDernière intervention18 juillet 2008 18 juil. 2008 à 12:22
C'est très suggestif!
ryosama
Messages postés35Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention 2 février 2009 28 juin 2007 à 22:06
Il y a toujours moyen de rajouter des choses mais je suis trop faignant pour faire du drag & drop ;-)
Si tu as le courage et la volonté de t'y mettre, n'hésite pas à poster ta source modifiée.
Dsl de déranger tout le monde, mais je suis un bon débutant... cette source me convient parfaitement, mais j'aimerais savoir si il y a moyen de rajouter un drag and drop entre les deux listes?
Ce serait très pratique...
Voila merci a tous!
ryosama
Messages postés35Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention 2 février 2009 30 mars 2007 à 12:19
Oui c'est bien evidement possible. Il faut simplement que le Javascript d'initialisation des valeurs soit produit par une page dynamique (PHP/Perl/ASP ...) ou alors passé par de l'Ajax.
En gros il faut ajuster les variables "colonne_texts" et "init_droite" qui contiennent respectivement la liste des valeurs possibles et la liste des valeurs pré-sélectionnées.
ahcorad
Messages postés106Date d'inscriptionvendredi 17 juin 2005StatutMembreDernière intervention23 octobre 2007 30 mars 2007 à 11:57
Est-ce possible de mettre en valeur initial des données d'une BDD ??
ryosama
Messages postés35Date d'inscriptionjeudi 19 février 2004StatutMembreDernière intervention 2 février 2009 27 nov. 2006 à 17:15
Avec ce code non ce n'est pas possible.
C'est possible dans l'absolu mais avec un autre javascript qui doit probablement exister sur ce site.
mayoronam
Messages postés2Date d'inscriptionlundi 17 octobre 2005StatutMembreDernière intervention27 novembre 2006 27 nov. 2006 à 17:01
bonjour !!!
ici super débutant
est ce possible d'afficher des images dans un tableau2(1 à 1),après avoir cliquer (1à1)dans un tableau1 qui contient leur nom en mode texte ? genre cliquez pour afficher .......
à bientôt...
ttl5v
Messages postés19Date d'inscriptionmardi 20 avril 2004StatutMembreDernière intervention31 août 2006 31 août 2006 à 16:52
Perso je trouve ça pas mal si tu veux faire un CD de commande par exemple...
Je cherchais un truc simple et rapide pour commander des produits, bah voilà petit accessoire nickel sans utiliser un seul code de php sans bases de données... Exactement ce que je cherchais !
Merci beaucoup !
20 mai 2011 à 00:23
Elle se trouve ici ===> http://www.javascriptfr.com/codes/DOUBLE-LISTE-SELECTION_53189.aspx
JJDAI
18 mai 2011 à 19:42
J'ai modifié les lignes 28 et 41
- J'ai forcer la largeur des deux listes, c'est quand même plus agréable de garder les listes à la même largeur quelque soit le contenu.
- j'ai ajouter sur les deux liste l’évènement double clique pour basculer un seul item.
Lignes après modification:
<select name="colonne_stock" size="10" multiple style="width:200px" ondblclick="add_colonne();"></select>
<select name="colonne_afficher" size="10" multiple style="width:200px" ondblclick="remove_colonne();"></select>
JJDAI
7 mai 2011 à 10:58
28 oct. 2009 à 16:44
// on remplit la liste de selection PAR DEFAUT en chargeant la page
for(i=0 ; i<colonne_init.length ; i++)
c2.options[i] = new Option(colonne_texts[colonne_init[i]],colonne_init[i]);
merci pour les commentaires nombreux dans ta source, ça m'a fait gagné beaucoup de temps!
28 oct. 2009 à 16:40
cependant, ça règle le problème de la valeur de document.configuration.colonne faussée, mais pas la ligne vide créée dans la liste de droite, ce qui est disgracieux et assez déconcertant pour l'utilisateur (si ce n'était que moi ça me serait égal).
Merci pour cette astuce qui contourne le problème, ça rend le script tout à fait utilisable :)
28 oct. 2009 à 15:48
document.configuration.colonne.value.replace(/undefined/,'').replace(/^,|,$/,'').replace(/,+/,',');
Je ferai ça, c'est sale mais ça devrait marcher.
28 oct. 2009 à 15:36
je l'ai adapté à des données provenant d'une base mysql, aucun problème à partir du moment où les deux listes sont générées à la volée et non vides.
Néanmoins un seul problème: lorsque la liste de droite (liste des valeurs pré-sélectionnées) est vide (var init_droite = ''), une valeur "undefined" (Firefox) ou vide (sous IE) est crée par défaut quand même, ce qui fausse le résultat de document.configuration.colonne.value.
J'ai cherché mais j'avoue ne pas être calé en javascript pour me débarrasser de cette valeur vide, quelqu'un a une idée?
merci
21 nov. 2008 à 16:26
Juste une question, comment faire pour basculer un élément de la liste avec un double clic ?
je suppose qu'il faut ajouter une truc du genre : ondblclick="add_colonne()" sur chaque élément mais je ne sait pas trop ou ni comment vu que la création des listes est dynamique :(
Cela ferais un plus a ce code :)
18 juil. 2008 à 12:25
18 juil. 2008 à 12:22
28 juin 2007 à 22:06
Si tu as le courage et la volonté de t'y mettre, n'hésite pas à poster ta source modifiée.
28 juin 2007 à 10:33
Dsl de déranger tout le monde, mais je suis un bon débutant... cette source me convient parfaitement, mais j'aimerais savoir si il y a moyen de rajouter un drag and drop entre les deux listes?
Ce serait très pratique...
Voila merci a tous!
30 mars 2007 à 12:19
En gros il faut ajuster les variables "colonne_texts" et "init_droite" qui contiennent respectivement la liste des valeurs possibles et la liste des valeurs pré-sélectionnées.
30 mars 2007 à 11:57
27 nov. 2006 à 17:15
C'est possible dans l'absolu mais avec un autre javascript qui doit probablement exister sur ce site.
27 nov. 2006 à 17:01
ici super débutant
est ce possible d'afficher des images dans un tableau2(1 à 1),après avoir cliquer (1à1)dans un tableau1 qui contient leur nom en mode texte ? genre cliquez pour afficher .......
à bientôt...
31 août 2006 à 16:52
Je cherchais un truc simple et rapide pour commander des produits, bah voilà petit accessoire nickel sans utiliser un seul code de php sans bases de données... Exactement ce que je cherchais !
Merci beaucoup !