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

HTML Discussion :

Comment réaliser une liste déroulante à deux niveaux !?


Sujet :

HTML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Comment réaliser une liste déroulante à deux niveaux !?
    Bonjour à tous.
    Jusqu'à présent je lisais toujours vos précieuses réponses sans m'etre inscris mais voila qui est fait.

    Je voudrais savoir comment créer une liste déroulante avec une arborescence a l'intérieur.
    Je m'explique
    Ma liste déroulante a pour but la sélection d'un LIEN. Dans ma base de données il y a plusieurs liens qui sont regroupés en differentes catégories.

    L'objectif est donc d'avoir une liste déroulante ou figurent nom des catégories puis les liens qui s'y rapportent et qui sont selectionnables!

    Liste déroulante :

    Cat1
    -----
    >Lien1
    >Lien2
    >Lien3

    Cat2
    ------
    >Lien1
    >Lien2
    >Lien3

    J'espere que vous avez compris ce que je désirais! Je n'y arrive pas du tout
    meme si je sais qu'il faut surement utiliser <select> </select>

    Merci d'avance!

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    bonjour,

    deux possibilités :
    1. utiliser la balise optgroup :
      Code html : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
       
      <select size="1" id="combo">
        <optgroup label="Catégorie 1">
          <option value="url_11">Lien 1</option>
          <option value="url_12">Lien 2</option>
          <option value="url_13">Lien 3</option>
        </optgroup>
        <optgroup label="Catégorie 2">
          <option value="url_21">Lien 1</option>
          <option value="url_22">Lien 2</option>
          <option value="url_23">Lien 3</option>
        </optgroup>
      </select>
      malheureusement, je crois que IE ne la reconnait pas
    2. ou encore :
      Code html : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
       
      <select size="1" id="combo">
          <option value="" selected="selected" >Catégorie 1</option>
          <option value="url_11">&nbsp;&nbsp;&nbsp;Lien 1</option>
          <option value="url_12">&nbsp;&nbsp;&nbsp;Lien 2</option>
          <option value="url_13">&nbsp;&nbsp;&nbsp;Lien 3</option>
          <option value="">Catégorie 2</option>
          <option value="url_21">&nbsp;&nbsp;&nbsp;Lien 1</option>
          <option value="url_22">&nbsp;&nbsp;&nbsp;Lien 2</option>
          <option value="url_23">&nbsp;&nbsp;&nbsp;Lien 3</option>
       
      </select>
      Inconvénient : les titres ("catégorie 1" et "catégorie2") peuvent être sélectionnés (il te faudra donc gérer ces cas là)
      Pour faire des retraits ajoute des espaces insécables : &nbsp;

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci bien, je vais tester ça, si j'ai un problème je resposterai

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Suffit de faire une liste dl dt dd

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <dl>
        <dt>Catégorie 1</dt>
          <dd>Lien 1</dd>
          <dd>Lien 2</dd>
          <dd>Lien 3</dd>
        <dt>Catégorie 2</dt>
          <dd>Lien 1</dd>
          <dd>Lien 2</dd>
          <dd>Lien 3</dd>
    </dl>

    Ca peut-être aussi géré en Javascript pour ouvrir et fermer les catégories...

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 325
    Points
    16 325
    Par défaut
    Citation Envoyé par Auteur
    malheureusement, je crois que IE ne la reconnait pas
    Si si, IE la reconnaît très bien.

    C'est l'attribut disabled sur les option qu'il ne reconnaît pas.

  6. #6
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 143
    Points
    11 143
    Par défaut
    pour complèter la solution de blueice (j'utilise des listes ul et li au lieu de dl,dd,dt, mais le principe est le même ):
    Code html : 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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <meta http-equiv="Content-Language" content="fr" />
     
    <style type="text/css">
    <!--
    .conteneur{
     height: 250px;
     width: 200px;
     border: 5px #AAAAAA ridge;
     background-color: #CCCCCC;
     overflow: auto;
     padding: 5px;
    }
    .clListe{
     display: none;
     list-style-type: decimal;
    }
    .item{
     cursor: pointer;
    }
     
    //-->
    </style>
     
    <script type="text/javascript">
    <!--
    var oldObj = null;
    function gestionListe(idObj)
    {
      var liste = document.getElementById(idObj);
     
      if (oldObj==liste && liste.style.display!="block")
         oldObj = null;
     
      liste.style.display = "block";
     
      if (oldObj!=null)
         oldObj.style.display = "none";
     
      oldObj = liste;
    }
     
     
    //-->
    </script>
     
    </head>
     
    <body>
    <div class="conteneur">
     
    <span class="item" onclick="gestionListe('liste1')">Afficher liste 1</span><br />
    <ul class="clListe" id="liste1">
    <li><a href="page1.htm">Item 1</a></li>
    <li><a href="page2.htm">Item 2</a></li>
    <li><a href="page3.htm">Item 3</a></li>
    </ul>
     
    <span class="item" onclick="gestionListe('liste2')">Afficher liste 2</span><br />
    <ul  class="clListe" id="liste2">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
    </ul>
     
    <span class="item" onclick="gestionListe('liste3')">Afficher liste 3</span><br />
    <ul  class="clListe" id="liste3">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    </ul>
     
    <span class="item" onclick="gestionListe('liste4')">Afficher liste 4</span><br />
    <ul  class="clListe" id="liste4">
    <li>Item 1</li>
    <li>Item 2</li>
    <li>Item 3</li>
    <li>Item 4</li>
    <li>Item 5</li>
    <li>Item 6</li>
    <li>Item 7</li>
    <li>Item 8</li>
    <li>Item 9</li>
    <li>Item 10</li>
    <li>Item 11</li>
    <li>Item 12</li>
    </ul>
    </div>
     
    </body>
     
    </html>

    Citation Envoyé par Bisûnûrs
    Citation Envoyé par Auteur
    malheureusement, je crois que IE ne la reconnait pas
    Si si, IE la reconnaît très bien.
    Il faut vraiment que je mette à jour IE

Discussions similaires

  1. [OpenOffice][Tableur] Comment réaliser une liste déroulante avec des images
    Par flexi2202 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 30/04/2015, 10h34
  2. Comment réaliser une liste déroulante
    Par sab_info dans le forum SSRS
    Réponses: 4
    Dernier message: 19/02/2013, 17h16
  3. comment regrouper les elements d'une liste déroulante à 3 niveaux ?
    Par razily dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 14/03/2012, 19h34
  4. [MySQL] réaliser une liste déroulante sur 3 niveaux provenant de 3 tables jointes mysql
    Par cel.Saint-Louis dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/11/2007, 15h22
  5. Réponses: 4
    Dernier message: 25/12/2005, 18h46

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