Afficher l ordre chronologique des choix d'un select

bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008 - 10 déc. 2008 à 17:42
bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008 - 17 déc. 2008 à 11:26
Bonjour, je débute en javascript et j'aimerais pouvoir compter est afficher le nombre du choix fait sur un "select" (ordre chronologique):

 
J'ai donc un select rempli dynamiquement, lorsque je sélectionne une option et que je valide via un bouton le résultat
s'affiche dans un "textarea" cependant j aimerai qu'il soit suivi du numéro du choix.

 

 
exemple:

 
Select:

 =>  options:

 _Paris

 _Nice

 _Lille

 
si je choisi une ville et que je valide, le textarea devra afficher par exemple Nice 1 (si je choisi Nice en 1er), ensuite Lille 2 (si Lille en 2eme),Paris 3
....

Important: il s'agit d'un select simple ou après un choix on doit valider pour l'afficher dans le textarea!

Je pense qu'il faut passer par une boucle for mais je ne sait
pas trop comment m'y prendre, j'ai essayé ca: for (i=0;
i<selectBox.options.length; i++) mais cela retourne le numéro de
l'index.

 
Cordialement

 
David

8 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
10 déc. 2008 à 20:18
Bonjour,
as tu testé la proposition faite sur

sujet-LANCER-FONCTION-APRES-FIN-EXECUTION-AUTRE-FONCTION
;O)
0
bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008
10 déc. 2008 à 20:59
Hello, je viens juste de la voir et je la testerai demain en espérant y arrivé :)
merci.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
11 déc. 2008 à 09:53
pas regardé ce qu'à proposé petoleTeam,
      mais regarde de près  !

néanmoins, ch'tiot exemple :

<script>
    var nbr=0;
    function memor(s)
    {    nbr++;
        document.getElementById("txt").value+=
                "\r\n"+
                s.options[s.selectedIndex].text+
                " : "+
                nbr;
    }
</script>
<textarea id="txt" rows=10></textarea>
<select  id="sel"
            size=5
            onchange="memor(this);">
    <option>Paris
    <option>Nice
    <option>Lille
</select>

il te reste à  contrôler
_ qu'on ne fait pas 2 fois le même choix
_ qu'en "fin", le nombre de choix voulus est bien fait
_ ...

Cordialement

          [mon Site] [M'écrire] Bul         
0
bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008
16 déc. 2008 à 16:21
Hello, ton code fait bien ce que que je veux mais impossible pour moi de l adapter a mon code ou le chiffre doit apparaitre:

Voici mon bout de code:

function getURL()    {
     
      if(document.getElementById('message').value!==""){
      var i;
    var selectedList = new Array();
    var selectBox = document.getElementById("Villes"); // on cible le select
    var coo = document.getElementById("message").value;
     
    if (document.getElementById('Box').elements[0].checked==true)
        {
        for (i=0; i<selectBox.options.length; i++)
        {   if (selectBox.options[i].selected)
            {
            document.getElementById('A').value+= "markers="+coo+',red1';
            }
        }
        }
    else if (document.getElementById('Box').elements[1].checked==true)
        {
       
        for (i=0; i<selectBox.options.length; i++)
        {   if (selectBox.options[i].selected)
            {
           
            document.getElementById('A').value+= "|"+coo+",red"+???nbr???; // le chiffre doit apparaitre ici (???nbr???)
           
            }
        }
        }
        }
     
    };
je vais refaire des tests en espérant trouver. :)

cordialment david!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
17 déc. 2008 à 09:22
il me semble que tu refasse les mêmes erreurs
que dans le 1er message ( dont je n'ai plus l'adresse )
pourquoi une boucle ?
soit le select est multiple et là d'accord,
mais l'ordre de choix est impossible à détecter,
soit un choix à la fois, et là, mon foie, je t'ai donné
un exemple qui fait.
où est le html ?
@+
0
bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 10:11
Ah oui le HTml désoler, pour la boucle je ne sais pas trop en faite j avais fait des test au départ avec un select multiple et puis un simple ayant été aider on était parvenue a ce code et comme il etait fonctionnel je ne l'ai jamais retouché a tord puisque en y regardant de plus près cette boucle ne sert a rien (d'ailleur merci cela nettoie le code lol).

Code JS:

function getURL()   
    {
     if(document.getElementById('message').value!=="")
        {
         var coo = document.getElementById("message").value;
     
        if (document.getElementById('Box').elements[0].checked==true)
            {
            document.getElementById('A').value+= "markers="+coo+',red1'+?????????;
            }
       
        else if (document.getElementById('Box').elements[1].checked==true)
            {
            document.getElementById('A').value+= "|"+coo+",red"+?????????;
            }
        else if (document.getElementById('Box').elements[2].checked==true)
            {
            document.getElementById('A').value+= "|"+coo+",red+????????? '/>";
            }
        }
    };

Pour le HTML ou plutot php car c'est un select dynamique:
.....
echo "<form name='f3'>
               <select class='Select' id='Villes' name='s3' multiple'>";
while($row = mysql_fetch_assoc($res)){

echo "               <option name='o' id='o3' value='".$row["Villes"]."'>".$row["Villes"]."</option>";
                                            }
  echo "</select></form>";

Je vais de ce pas faire de nouveau essaie sans la boucle
0
bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 10:16
L'affichage ne ce fait pour sur un "onChange" dans le select mais un onClick sur un input ^^:

La function recup incorpore le fonction getURL qui nous intéresse ;).
0
bm3w325i Messages postés 37 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 17 décembre 2008
17 déc. 2008 à 11:26
C bon j'ai reussi c'est genial et finalment tres simple lol:

VOici le code pour ceux que ca pourrait aider ;)

var nbr=0;
function getURL()   
    { nbr++;
       
       
     if(document.getElementById('message').value!=="")
        {
         var coo = document.getElementById("message").value;
     
        if (document.getElementById('Box').elements[0].checked==true)
            {
            document.getElementById('A').value+= "";
            }
        }
    };

UN GRAND merci !!!
0
Rejoignez-nous