Forcer un texte à une balise SELECT

Résolu
Axl1 Messages postés 3 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 24 mars 2009 - 23 mars 2009 à 20:38
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

4 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
24 mars 2009 à 09:42
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
3
Hypen Messages postés 11 Date d'inscription lundi 27 décembre 2004 Statut Membre Dernière intervention 7 août 2009 1
24 mars 2009 à 08:11
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';
0
Axl1 Messages postés 3 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 24 mars 2009
24 mars 2009 à 09:52
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
0
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
Merci Bul3
Ca marche parfaitement

AAAXl
0
Rejoignez-nous