Forcer un texte à une balise SELECT [Résolu]

Signaler
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009
-
Axl1
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009
-
Bonsoir.
J'espère trouver une réponse dans ce forum pour un problème que je n'arrive vraiment pas à résoudre et je vous remercie d'avance.

J'ai une balise SELECT tout ce qu'il y a de plus simple, par exemple :

<select name="nom" id="id10" >
<option>Catégorie1</option>
<option>Catégorie2</option>
<option>Catégorie3</option>
</select>

Pour selectionner en javascript une option, j'ai utilisé la façon suivante :

document.getElementById('id10').selectedIndex=2;

Ceci permet de selection l'index 2 donc "Catégorie3".

Par contre j'aimerais pouvoir effectuer une telle selection mais en indiquant directement la valeur texte qui doit être sélectionnée par exemple :

document.getElementById('id10').quelquechose=Catégorie3;

J'ai réussi à le faire avec la méthode suivante :
tb1 = document.getElementById('id10');
tb1.options[tb1.selectedIndex].text=="Catégorie2";

Le problème c'est qu'un nouveau champs est créé. On obtient :

<select name="nom" id="id10" >
<option>Catégorie2</option>
<option>Catégorie1</option>
<option>Catégorie2</option>
<option>Catégorie3</option>
</select>

On a deux fois le Catégorie2!!!

Est-ce que quelqu'un aurait une idée? Merci d'avance.

AAAXl

4 réponses

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

tout ce que tu peux faire c'est une recherche dans le texte dans options
une fois trouvé, tu connais le n° !

 à finir :

    <select name="nom" id="id10" >

        <option>Catégorie1</option>

        <option>Catégorie2</option>

        <option>Catégorie3</option>

    </select>

    <script type="text/javascript">

        var s=document.getElementById("id10");

        s.selectecIndex=-1;

        for ( var l=0;l<s.length;l++ )

        {   if ( s.options[l].text=="Catégorie3" )

            {    s.selectedIndex=l;

                break;

            }

        }

    </script>

Cordialement [mon Site] [M'écrire] Bul
Messages postés
11
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
7 août 2009

Salut, tu peut passer par la propriété value. En définnissant correctement dans ton select.

<select name="nom" id="id10" >
<option value="Catégorie1">Catégorie1</option>
<option value="Catégorie2">Catégorie2</option>
<option value="Catégorie3">Catégorie3</option>
</select>

Aprés pour choisir la valeur : document.getElementById('id10').value = ' Catégorie2';
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009

Merci pour vos réponses. C'est vraiment sympa.
Je vais tester ça ce soir et je vous tiens au courant.
Bonne journée
AAAXl
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009

Merci Bul3
Ca marche parfaitement

AAAXl