Réinitialiser un OPTION avec du code JS [Résolu]

whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 26 oct. 2007 à 03:39 - Dernière réponse : whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention
- 26 oct. 2007 à 13:59
Bonjour à tous,

J'ai sur ma page HTML et PHP (avec du JS) toute une série de listes déroulantes, une par lettre de l'alphabet.
Le visiteur doit choisir un nom dans une des listes.

Mais il peut s'amuser et sélectionner plusieurs listes et ça je ne le veux pas. Donc je voudrais que dès qu'un nom dans une liste a été sélectionné cela remette toutes les autres à 0.

Oui, mais comment faire en JS?

Pourriez-vous m'aider ?
D'avance merci.

Cordialement. 

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Afficher la suite 

Votre réponse

6 réponses

Zobibol 469 Messages postés mercredi 9 janvier 2002Date d'inscription 20 février 2017 Dernière intervention - 26 oct. 2007 à 13:55
+3
Utile
En effet, _obj.id est l'id du select Appelant, ainsi le test :
if ( selects[i].id != _obj.id ){
                        selects[i].selectedIndex = 0;
                    }
traite tous les select sauf celui ayant changer de valeur.

[o-_-o]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Zobibol
lesdis 401 Messages postés mercredi 19 avril 2006Date d'inscription 6 juin 2011 Dernière intervention - 26 oct. 2007 à 09:59
0
Utile
Bonjour,

Va faire un tour du coté de la propriété selectedIndex d'un select. Ensuite il te suffira de remettre l'index a 0 pour tous les select autres que celui qui vient d'être changer.

Bonne Prog
Commenter la réponse de lesdis
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 26 oct. 2007 à 11:06
0
Utile
Oui merci mais le problème c'est que l'on ne sait pas quel SELECT a été choisi. Si c'est le 11, et qu'on le sache, avec un if on résoud le truc mais sur 20 SELECT possibles, comment savoir le numéro du bon ?

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat
Zobibol 469 Messages postés mercredi 9 janvier 2002Date d'inscription 20 février 2017 Dernière intervention - 26 oct. 2007 à 12:26
0
Utile
Bonjour,
Le plus simple est de mettre en place une méthode . A condition il va s'en dire que tes selects aient un id ( normalement, obligatoire ):

    function checkSelect(_obj){
                var selects = document.getElementsByTagName("select");
                for ( var i = 0; i<selects.length; i++){
                    if ( selects[i].id != _obj.id ){
                        selects[i].selectedIndex = 0;
                    }
                }
            }

et ensuite sur le onchange de tous tes selects :
onchange="checkSelect(this)"

Ci-joint un exemple !

<html>
    <head>
        <title>Select réinit</title>
        <script>
            function checkSelect(_obj){
                var selects = document.getElementsByTagName("select");
                for ( var i = 0; i<selects.length; i++){
                    if ( selects[i].id != _obj.id ){
                        selects[i].selectedIndex = 0;
                    }
                }
            }
        </script>
    </head>
   
        <select id="1" onchange="checkSelect(this)">
            <option></option>
            <option>a</option>
            <option>b</option>
            <option>c</option>
        </select>
        <select id="2" onchange="checkSelect(this)">
            <option></option>
            <option>d</option>
            <option>e</option>
            <option>f</option>
        </select>
        <select id="3" onchange="checkSelect(this)">
            <option></option>
            <option>g</option>
            <option>h</option>
            <option>i</option>
        </select>
   
</html>

et tu peux rajouter autant de select que tu veux !

[o-_-o]
Commenter la réponse de Zobibol
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 26 oct. 2007 à 12:48
0
Utile
Il n'y a pas photo, c'est sûr que votre script est le bon. Mais l'idée c'est de supposer qu'un rieur selectionne 3 ou + de select. Donc, dès qu'il selectionne un select, cela remet à zero tous les autres, pas le sien...

Et c'est là que je pêche. Mais peut-être que j'ai mal compris votre script. En fait _obj.id dans la fonction est le select appelant, non, et donc vous aviez résolu le problème. Je me trompe ?

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat
whombat 188 Messages postés mercredi 12 octobre 2005Date d'inscription 19 novembre 2011 Dernière intervention - 26 oct. 2007 à 13:59
0
Utile
Merci infiniment pour votre attention et votre aide.

Cordialement,

Whombat.
<hr />
Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.