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 :

Faire apparaitre une liste déroulante dans un tableau


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut Faire apparaitre une liste déroulante dans un tableau
    Bonjour tout le monde,

    Je voudrais créer un tableau de 9 * 24 dans lequel à l'intérieur de chaque case il y aurait une liste déroulante.
    Mon problème est que je voudrais que cette liste déroulante n'apparaisse que au click sur la case du tableau.

    Je ne suis vraiment pas doué en javascript mais j'ai essayé de faire cela :

    Mon javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <script>
    function afficher(obj){
            document.getElementById(obj).style.display = "block";
    }
     
    function cacher(obj){
            document.getElementById(obj).style.display = "none";
    }
    </script>
    La page en elle même :
    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
     
    <body>
    <?php
    echo '<table border="1">';
            for($i=0;$i<3;$i++){
                echo '<tr>';
                for($j=0;$j<3;$j++){
                    echo '<td><div  onclick="afficher(contenu_'.$i.'_'.$j.');" id="contenu_'.$i.'_'.$j.'" style="visibility:hidden;">
                          <select name="voyant'.$i.'_'.$j.'">';
                               echo '<option>1</option>';
                               echo '<option>2</option>';
               }
               echo '</select></div></td>';
               echo '</tr>';
            }
            echo '</table>';?>
    Bon j'ai tout qui disparait, mais rien qui apparait lol

    Bref comment faire ?
    Merci de votre aide !!
    PS : me renvoyez pas au tuto "modif inline" car je ne veux pas d'ajax !(lol)

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    peux-tu donner le code généré (HTML + JS), plutôt que le code PHP ?

    Merci

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    j'ai trouvé la réponse :p
    faut faire comme cela :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <html>
    <head>
     <script>
    function test(obj){
        if(obj.style.visibility == "visible")
            obj.style.visibility = "hidden";
        else
            obj.style.visibility = "visible";
    }
     
    function affiche(obj){
            obj.style.visibility = "visible";
    }
     
    function init(){
        for(var i=0;i<3;i++){
            for(var j=0;j<3;j++){
                var id = 'contenu_'+i+'_'+j;
                document.getElementById(id).style.visibility = "hidden";    
            }
        }
    }
    </script>
    </head>
    <body onload="init();">
    <?php
    echo '<table border="1">';
            for($i=0;$i<3;$i++){
                echo '<tr>';
                for($j=0;$j<3;$j++){
                    $test = 'contenu_'.$i.'_'.$j;
                    echo '<td onclick="affiche('.$test.');"><div id="contenu_'.$i.'_'.$j.'" name="contenu_'.$i.'_'.$j.'">
                          <select name="voyant'.$i.'_'.$j.'">';
                               echo '<option>1</option>';
                               echo '<option>2</option>';
               }
               echo '</select></div></td>';
               echo '</tr>';
            }
            echo '</table>';?>
            </body>
     
    </html>
    Merci quand même d'avoir regardé !!
    J'ai une petite question, j'en profite !
    Tu saurais comment récupérer ce qui est "Selected" dans la liste dans une variable javascript ? (je mets résolu après :p)

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par AsQuel
    Merci quand même d'avoir regardé !!
    Ben non : je fais pas de PHP
    Tu saurais comment récupérer ce qui est "Selected" dans la liste dans une variable javascript ?
    Le plus simplement possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id_liste').value
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mettre une liste déroulante dans un tableau
    Par lamb87 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/12/2011, 17h09
  2. faire apparaitre une Liste déroulante
    Par yaboki dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/12/2008, 19h52
  3. [BO XI R2] Faire une liste déroulante dans un invite
    Par perrine1985 dans le forum Débuter
    Réponses: 3
    Dernier message: 03/06/2008, 00h03
  4. [MySQL] Faire apparaître la sélection d'une liste déroulante dans une zone de texte
    Par emmy99 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/03/2008, 15h11
  5. Réponses: 1
    Dernier message: 02/04/2007, 16h56

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