Version complète: sur le forum Webmaster Hub : Menu déroulant et selection...
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > AjaX et JavaScript
Portekoi
Bonjour,

Voici un petit code :

CODE
<form name="Formulaire">
<select name="p2_type">
                <option value="Prescription">Prescription</option>
                <option value="Prospection">Prospection</option>
                <option value="Spontanée">Spontanée</option>
            </select>
</form>


Au chargement de la page, je vais chercher mes données dans ma base. Je vais par exemple récupérer une variable 'p2_type' qui aura pour valeur 'Spontanée'.

J'aimerais réussir à sélectionner le bon enregistrement en javascript dans ma liste et sans faire de boucle ou de test valeur par valeur...

Par exemple, si je clique sur ce bouton :

CODE
<input type="button" name="Pouet" value="Youpi" onclick="Formulaire.<%=p2_type%>.options[2].selected = true;" />


C'est bien 'Spontanée' qui est sélectionné...

Une idée?


Portekoi
captain_torche
Essaye avec quelque chose comme
CODE
<input type="button" name="Pouet" value="Youpi" onclick="Formulaire.<%=p2_type%>.options[Formulaire.<%=p2_type%>.selectedIndex].selected = true;" />
Portekoi
Ouai mais... nan happy.gif

Mais je pense avoir trouver comment, faut que je test happy.gif
captain_torche
Autant pour moi, j'avais mal compris la question : tu veux que le bon élément soit sélectionné au chargement de la page ?
Quand je gère ça en PHP, je crée le select avec une boucle, et je teste la valeur de ma variable avec celle de l'élément. Si elles sont égales, j'ajoute l'attribut selected="selected".
Portekoi
Ouaip mais je dois le faire sans boucle et dans un select déjà affiché en faites...
captain_torche
Sans boucle, je ne vois pas trop comment tu pourrais faire.
Portekoi
Ben si, il est déjà affiché smile.gif

Je voudrais un truc du genre :

CODE
<input type="button" name="Pouet" value="Youpi" onclick="Formulaire.<%=p2_type%>.'Spontanée'.selected = true;" />


Tu voies?
captain_torche
Je vois bien wink.gif
Mais à ma connaissance, tu seras obligé de boucler en JS sur toutes les valeurs de l'élément pour trouver le bon.

Voilà un code qui devrait fonctionner :
CODE
<script type="text/javascript">
    function selectionne(valeur) {
        var values = document.getElementById('p2_type').options;
        for(var i = 0; i < values.length; i++) {
            if(values[i].value == valeur)
                values[i].selected = true;                
        }
    }
</script>
<form name="Formulaire">
    <select name="p2_type" id="p2_type">
        <option value="Prescription">Prescription</option>
        <option value="Prospection">Prospection</option>
        <option value="Spontanée">Spontanée</option>
    </select>
    <input type="button" value="clic" onclick="selectionne('Spontanée')">
</form>
Portekoi
Nickel smile.gif
Portekoi
Un petit complément :

Là, je sais que 'ID' du tableau des options est sélectionné :

CODE
Formulaire.p2_type.selectedIndex


Comment faire pour récupérer la valeur de l'option?
Portekoi
Hop j'ai trouvé

CODE
Formulaire.<%=p2_type%>.options[document.Formulaire.<%=p2_type%>.selectedIndex].value


happy.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.