IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

afficher au choix une liste deroulante


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de liquideshark
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    347
    Points
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2006
    Messages : 347
    Points : 325
    Par défaut afficher au choix une liste deroulante
    Salut à tous,


    J'ai un petit souci en javascript, je ne maitrise pas. J'ai dans un formulaire une liste deroulante et j'aimerais que lorqu'on choisi le bouton radio oui j'ai la liste deroulante corespondant au oui et si on choisit non j'ai la liste deroulante au non.

    Voici mon code ::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
     
    <INPUT TYPE=RADIO  NAME="status" ID="status_ID" VALUE="0"  />oui
    <INPUT TYPE=RADIO  NAME="status" ID="status_ID" VALUE="1"  />non
     
    <!-- liste oui-->
    <SELECT NAME="prod" ID="ID" >
        <OPTION VALUE='1'>yooo
        <OPTION VALUE='2'>djoo
    </SELECT>
     
    <!-- liste non-->
    <SELECT NAME="prod" ID="ID2"  >
        <OPTION VALUE='6'>foo
        <OPTION VALUE='7'>goo
    </SELECT>
    Merci

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Points
    79 915
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Par défaut
    Bonjour,

    Si votre page n'est pas déjà alourdie par plein d'objets, et que vos listes ne sont pas trop grandes, vous pouvez jouer sur l'affichage des listes.

    Pour les utiliser, vous devez créer une fonction Javascript qui au onclick des boutons radio va afficher une liste plutôt que l'autre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <INPUT TYPE=RADIO  NAME="status" ID="status_ID" VALUE="0" onclick="ma_fonction(this.value);" />oui
    <INPUT TYPE=RADIO  NAME="status" ID="status_ID" VALUE="1" onclick="ma_fonction(this.value);"  />non
    La fonction prend en paramètre le value du bouton sélectionné:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function ma_fonction(la_valeur)
    {
       if(la_valeur == 0)
       {
           //Afficher liste oui, cacher liste non
       }
       else
       {
           //Cacher liste oui, afficher liste non
       }
    }

  3. #3
    Membre averti Avatar de SPACHFR
    Profil pro
    Paaaaaa
    Inscrit en
    Février 2004
    Messages
    557
    Points
    400
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paaaaaa

    Informations forums :
    Inscription : Février 2004
    Messages : 557
    Points : 400
    Par défaut
    Voici un exemple assez basique
    Tu as juste à copier le code et à le coller dans une page html pour le tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <html>
    <head>
    <script>
    function ChoixList(value) {
    if(value == 0)
       {
        document.getElementById("MyList").innerHTML = '<SELECT NAME="prod" ID="ID" >'
       + '<OPTION VALUE="1">yooo'
       + '<OPTION VALUE="2">djoo'	
       + '</SELECT>';
       }
       else
       {
        document.getElementById("MyList").innerHTML = '<SELECT NAME="prod" ID="ID2" >'
        + '<OPTION VALUE="6">foo'	
        + '<OPTION VALUE="7">goo'
        + '</SELECT>';
       }
    }
    </script>
    </head>
    <body>
    <div id="MyInput">
    <INPUT TYPE=RADIO  NAME="status" ID="status_ID" VALUE="0"  onclick="ChoixList(this.value);" />oui
    <INPUT TYPE=RADIO  NAME="status" ID="status_ID" VALUE="1"  onclick="ChoixList(this.value);" />non
    </div>
    <div id="MyList">
    /* div d affichage de la liste en fonction du choix */
    </div>
    </body>

  4. #4
    Membre averti Avatar de liquideshark
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2006
    Messages
    347
    Points
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2006
    Messages : 347
    Points : 325
    Par défaut
    Super ca marche super bien,

    Dites moi si je veus integrer un peu d'ajax ca va donner quoi ?

    Merci

  5. #5
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Points
    79 915
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Par défaut
    Je ne suis pas d'accord avec SPACHFR. Utiliser innerHTML au lieu de l'API DOM pour construire les éléments HTML n'est pas très bien.

    Quant à Ajax, si vous l'utilisez, c'est pour aller chercher la liste du select dans une base de données, par exemple. Si la liste est dans la page (en dure), je ne vois pas à quoi l'Ajax servirait. Sinon ça donnerait plus ou moins la même chose. Vous appelleriez une fonction au onclick() sur les boutons radio; cette fonction ferait un appel Ajax qui irait récupérer telle ou telle liste de données, transmettrait le résultat et vous devrez alors construire votre select grâce à ces données. Mais... pas avec un innerHTML, essayez d'utiliser des createElement() de DOM.

    Pour l'Ajax, vous pouvez parcourir cet article-ci.
    Pour l'API DOM, voici quelques explications.

Discussions similaires

  1. Afficher choix a partir d'une liste deroulante
    Par amne26 dans le forum IHM
    Réponses: 11
    Dernier message: 22/09/2008, 20h20
  2. [MySQL] Afficher dynamiquement une liste deroulante
    Par kcelie dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/07/2007, 19h53
  3. afficher une liste deroulante après une selection
    Par zana74 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 04/08/2006, 18h18
  4. Réponses: 5
    Dernier message: 10/05/2006, 22h39
  5. [Rico] Afficher depuis d'une liste deroulante (PHP+AJAX)
    Par maxis dans le forum Bibliothèques & Frameworks
    Réponses: 9
    Dernier message: 27/02/2006, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo