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

Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009
- - Dernière réponse : Axl1
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009
- 24 mars 2009 à 20:41
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 153 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Bul3
Messages postés
11
Date d'inscription
lundi 27 décembre 2004
Statut
Membre
Dernière intervention
7 août 2009
0
Merci
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';
Commenter la réponse de Hypen
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009
0
Merci
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
Commenter la réponse de Axl1
Messages postés
3
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
24 mars 2009
0
Merci
Merci Bul3
Ca marche parfaitement

AAAXl
Commenter la réponse de Axl1