Afficher variableS d'un select multiple [Résolu]

Signaler
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008
-
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
-
Bonjour, j'espère ne pas me tromper de Thèmes.

Actuellement je récupère la sélection d'un  sélect multiple et l'affiche dans un input grâce au code ci-dessous, qui m'affiche ligne après lignes mes sélections.
ex: selection = 1
     selection = 2......
J'aimerais que mes sélection s'affiche les unes derrière les autre: selection 1, selection 2........

 function getURL() {
 
  var i, j;
    var selectedList = new Array();
 
    var selectBox = document.getElementById("s"); // on cible le select
 
    for (i=0, j=0; i<selectBox.options.length; i++)
    {
        if (selectBox.options[i].selected)
        {
            selectedList[j] = selectBox.options[i];   // on ajoute l'option i à la case j du tableau selectedList
            j++; // increment de l'indice du tableau
        }
    }
 
    // on recupere les valeurs des options cochees
    var alertTxt = "";
    for (i=0; i<selectedList.length; i++)
    {
       alertTxt += "selection 1 "+selectedList[i].value+" est selectionnée \n";
    }
 
    document.getElementById('A').value= alertTxt;
};

J'avais pense à :   alertTxt += "selection 1 "+selectedList[i].value+""+selectedList[i++].value+"  \n"; ; mais cela ne fonctionne pas ^^.
Cordialement David.

14 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
bonjour,

document.getElementById('A').value="";
for (i=0; i<selectBox.options.length; i++)
    {   if (selectBox.options[i].selected)
        { document.getElementById('A').value+= selectBox.options[i].text+" "; }
   }

peut-être....

Cordialement

          [mon Site] [M'écrire]  Bul        
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008

Merci c'est génial ^^, pour poussé un peu plus loin cette fonction, je m'explique:

Ici nous récupérons les choix d'un select, ce select est rempli dynamiquement grâce à un premier select (Pays>Region).
Si j'applique la fonction je me retrouve avec la liste des region d'un pays (dans "A") mais comment faire si jamais je change de Pays pour que les nouvelle region s'ajoute au ancienne Merci!

ps: j'espere etre assez clair.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
une question avant tout  :
ça peut servir à quoi de mettre les choix dans un "texte" ?
( à part afficher )


>> mais comment faire si jamais je change de Pays pour que les nouvelles regions s'ajoutent aux anciennes
pas sûr d'avoir suivi...
ne pas effacer le contenu avant d'ajouter ? peut-être....
mais il ne faut pas oublier un changement éventuel dans les choix !

           [mon Site] [M'écrire]  Bul         
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008

En fait si je désire afficher cela en texte c'est pour générer une URL pour google maps, qui dans ce cas précis à besoin pour certains paramètre du nom du pays pour afficher un marker.
L'idée finale étant d'afficher une URL dans ce genre:

document.getElementById('A').value+= 'ne pas effacer le contenu avant d'ajouter ? peut-être....
Ca doit etre ca, ce que je voulais dire c'etait lors de la sélection d'un pays je choisi X regions qui s'afficheront dans 'A', puis sans vider 'A' je sélectione un autre pays et donc X autres regions qui iront s'ajouter au 1er selectionnées ^^
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>en texte c'est pour générer une URL pour google maps,
un formulaire avec method=get et les bons name ça devrait le faire.

>>Ca doit etre ca, ce que je voulais...
donc c'est bien ça, ne pas effacer.
mais|et si l'utilisateur veut revenir sur ces choix ?!? faut prévoir aussi.

          [mon Site] [M'écrire] Bul         
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008

">>Ça doit être ça, ce que je voulais...
donc c'est bien ça, ne pas effacer.
mais|et si l'utilisateur veut revenir sur ces choix ?!? faut prévoir aussi."

Bien pensé!!! j'avais oublié cette éventualité, ça doit être assez difficile à faire ça?! le fait d'annuler une action, pour ne pas effacer on fait comment alors??

Pour l'url j'y arrive plus ou moins.

Merci.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
difficile pas vraiment....
"il suffit" d'enlever ce qui est ajouté pour ce choix ;o)

mais il y a moyen de ne pas passer par cette chaîne de caractères je suppute....
quel doit être le format de cette "URL pour google maps" ?

          [mon Site] [M'écrire] Bul  
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008

>
difficile pas vraiment....
"il suffit" d'enlever ce qui est ajouté pour ce choix ;o)
__________________(oO)' alors là je vois vraiment pas comment (je debute en JS lol).

>

mais il y a moyen de ne pas passer par cette chaîne de caractères je suppute....
quel doit être le format de cette "URL pour google maps" ?

"http://maps.google.com/maps?f=d& saddr= &daddr= dijon lyon &hl =fr&geocode=&mra=ls&sll=41.046217,-0.758057&sspn=5.733103,9.799805&ie=UTF8&ll=41.046217,-0.769043&spn=5.733103,9.799805&z=7

Voilou en espérant que cela puisse t'aider :)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
euh... ben là, je ne vois pas trop où tu peux envoyer
plusieurs mêmes infos !!!!

le formulaire pour ce que tu me met :
<form action="http://maps.google.com/maps" method="get" ... >












...

voili, Voilou... en espérant que cela puisse t'aider ;o)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
parce que si tu répètes


ou &saddr=paris&saddr=parici
seul le premier sera reçu/traité coté serveur
@+
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008

Mon idée était de parce que  plutôt par javascript en renvoyant les valeur vers le input:

L'idée est de recupere les selection est puisque maintenant grace a toi elle se metten par orde je peur essayer ca:

var url = 'http://maps.google.com/maps?';
var PAYS = 'selectBox.options[i].text+';

document.....= url="'+url+'"&saddr='"+ville+'"&daddr="'+ville+'"+to:"'+ville+'"...... quelque chose dans ce genre la ^^
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
javascript ou pas... le problème n'est pas là !
est-ce que coté serveur on accepte /traite plusieurs villes...
je doute !
essaye donc "classiquement", sans programmation,
de mettre dans l'url
...&saddr=lyon&saddr=paris... avec les paramètres
pour chaque... ça ne marchera pas : seul le 1er
( ou le dernier ? ) saddr sera pris en compte...
je crois qu'il faut faire plusieurs appels

@+
Messages postés
37
Date d'inscription
vendredi 11 août 2006
Statut
Membre
Dernière intervention
17 décembre 2008

Il n'ya qu'un saddr puisque l'url type est sadrr(point de depart) + daddr(arrivé) + to(étape). je vais faire quelques test tout a l'heure et notamment classiquement et je te tiens au courrant ^^
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
ben oui... c'est ce que je voulais dire en écrivant : "avec les paramètres"
...&saddr=lyon&saddr=paris&daddr=lille&daddr=orléans&to=brest&to=strasbourg...
seul le 1er (ou le dernier) de chaque paramètre va être traité,
ça ne peut pas être autrement, ou alors dans les paramètres, il faut utiliser
une "syntaxe spéciale" du genre :
...&saddr=lyon¤paris&daddr=lille¤orléans&to=brest¤strasbourg...
mais si c'était prévu, ce serait plutôt un array avec des [] dans les name
          [mon Site] [M'écrire] Bul