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 :

Fieldset avec liste déroulante


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut Fieldset avec liste déroulante
    Bonjour,

    J'ai une liste déroulante dans un Fieldset, je voulais savoir s'il était possible de modifier la hauteur de Fieldset à l'ouverture de la liste déroulante.

    Mon code:
    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
    <form action="" method="post" id="choix_cartes">
                                       <fieldset style="border: 4px double #3e3737">
                                         <legend>Sélectionnez une carte</legend>      
     
     
    <select id="list_deroul" style="background-color:#000; color:#f4f1f1; text-align:center;" onchange="javascript:location.href=this.options[this.selectedIndex].value;">
                            <option value="vide">- - - - - Choisissez une région - - - - -</option>
                            <option value="Auvergne_rhone_alpes.html">Auvergne Rhône Alpes </option>
                            <option value="Ardeche_arrondissements.html">Ardèche Arrondissement </option>
                            <option value="Ardeche_circonscriptions.html">Ardèche Circonscription </option>
                            <option value="Ardeche_cantons.html">Ardèche Cantons </option>
                            <option value="Ardeche_communes.html">Ardèche Communes </option>
                            <option value="Ardeche_Largentière_communes.html">Ardèche Largentière Communes </option>
    <!--                        <option value="Ardeche_privas_communes.html">Ardèche privasCommunes </option> -->
                            <option value="Ardeche_tournon_sur_rhone.html">Ardèche Tournon sur Rhône Communes </option>
     
                                                             </select>
                                                            </fieldset>
                                                              </form>



    je vous remercie d'avance

    Max

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Le souci de la hauteur du select c'est qu'il est plus lié au navigateur qu'un div par exemple, sa hauteur dépliée est liée au nombre d'options affichées déterminée également par l'attribut size ...
    De plus les options se déroulent en superposition ...
    Le plus simple est encore de trouver un plugin d'émulation de select du coup les options étant en général emulées par des li dans un ul, le fieldset
    avec jquery un exemple vite fait : https://jsfiddle.net/qsetp935/29/

  3. #3
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut


    À mon avis ce n'est pas possible et ce n'est pas nécessaire, car la partie ouverte du select se place au-dessus du contenu de la page web.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    j'ai DEJA donné une réponse ici... à laquelle tu n'as DEJA pas répondu...

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 075
    Points : 44 667
    Points
    44 667
    Par défaut
    Bonjour,
    j'enfonce le clou
    Ergonomiquement parlant je considère que c'est une mauvaise idée, tous les « Down_Quelque_Chose » recouvre le contenu qui suit cela évite accessoirement à la page de sautiller.

  6. #6
    Invité
    Invité(e)
    Par défaut
    En effet : ce n'est pas parce qu'une solution existe qu'elle est bonne (ou la meilleure)...

    D'autant plus (ou moins ?) sur écran tactile....

  7. #7
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Bonjour à Tous.

    je suis allé voir le site https://jsfiddle.net/qsetp935/29/ de SpaceFrog sa fonctionne sur le site et quand je recopie sur mon ordi sa ne fonctionne pas ou je me suis planter?

    Merci et bonne journée

    Max

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu ne charges sans doute pas jquery ??

  9. #9
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Si je suis aller le prendre sur le site et j'ai mis le lien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script src='js/jQuery v3.3.1.js'></script>

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Regarde en console si tu as un message d'erreur ..

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Non justement, même la liste ne s'ouvre pas à tu essayer toi?

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Le code fourni est 100% fonctionnel.
    Si chez toi il ne se passe rien c'est que tu as un souci de jquery ou de selecteurs ...

    Comment l'as tu implémenté ?
    As tu recopié tout le code avec le html ? as tu adapté en modifiant les id et classes ?

  13. #13
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Bonjour SpaceFrog,

    Voila mon code avec bien entendu jquery en lien.

    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
       <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8">
     
     
        <style>
            
            
    .options li { list-style:none;
    list-style-position: outside;
     cursor: pointer;
     }
     
    .options li:hover {
      background-color: silver;
    }
    .oflow {
      border: solid 1px red;
    overflow: visible; }
    .options{
      display: none;
      margin: 0;
      padding:0;
      border: solid 1px silver;}
    #foo { 
     border :0;
     }
     .select {
       border: solid 1px silver;
       display:inline-block;
       }
            
            </style>    
     
         <script>   
            
          $ (function(){
     
    $('.select').on('click', function(){
      $(this).next('.options').slideToggle();
    })
    $('#foo').on('focus', function(){ $(this).blur();})
     
    $('.options>li').on('click', function(){
      selval= $(this).text();
      $('#foo').val( selval );
      $(this).parent('.options').slideToggle();
    });
     
    });
            
           </script> 
     
        </head>
        <body>
     
          <form >
    <fieldset id="fs" class="oflow">
    <div class="select">
    <input type="text" id="foo" value="" /><ul class="options">
    <li>un</li>
    <li>deux</li>
    <li>trois</li>
    <li>quatre</li>
    <li>cinq</li>
    <li>six</li>
    </ul>
     
    </div>
     
    </fieldset>
    </form>  
     
            <script src='js/jQuery v3.3.1.js'></script>
     
        </body>
    </html>


    Merci et bonne journée

    Max

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Petit rappel ...
    le code sur ta page et interprété chronologiquement dans l'ordre des lignes ...
    ton jquery est cahrgé en fin de page alors qu tu invoques des fonctions en début de page !!!
    Tu dois obligatoirement avoir un message en console du genre "$ is undefined" ...

    La solution:
    soit tu remontes ton appel au chargement de jquery en haut de page AVANT ton script de ready dans lequel tu initialises les events
    soit tu descends ton ready en bas de page APRES ton appel au chargement de jquery ...

  15. #15
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Je viens de faire se que tu me demande le voici:

    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
      <!DOCTYPE html>
    <html>
     <head>
      <meta charset="utf-8">
     
        <style>
         
    .options li { list-style:none;
    list-style-position: outside;
     cursor: pointer;
     }
     
    .options li:hover {
      background-color: silver;
    }
    .oflow {
      border: solid 1px red;
    overflow: visible; }
    .options{
      display: none;
      margin: 0;
      padding:0;
      border: solid 1px silver;}
    #foo { 
     border :0;
     }
     .select {
       border: solid 1px silver;
       display:inline-block;
       }   
            </style>    
     
        </head>
        <body>
     
          <form >
    <fieldset id="fs" class="oflow">
    <div class="select">
    <input type="text" id="foo" value="" /><ul class="options">
    <li>un</li>
    <li>deux</li>
    <li>trois</li>
    <li>quatre</li>
    <li>cinq</li>
    <li>six</li>
    </ul>
     
    </div>
     
    </fieldset>
    </form>  
     
     
                          <script src='js/jQuery%20v3.3.1.js'></script>
     
     
         <script>   S
          $ (function(){
     
    $('.select').on('click', function(){
      $(this).next('.options').slideToggle();
    })
    $('#foo').on('focus', function(){ $(this).blur();})
     
    $('.options>li').on('click', function(){
      selval= $(this).text();
      $('#foo').val( selval );
      $(this).parent('.options').slideToggle();
    });
     
    });     
           </script> 
     
     
     
        </body>
    </html>

    Et sa ma rien donnée et sur ma console je n'est pas de message d'erreur?

    @+ Max

  16. #16
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Points : 47
    Points
    47
    Par défaut
    Re,

    Je viens de rechercher le code au complet et appliquer ton conseil et sa fonctionne!!!!!!

    Je te remercie et te souhaite une bonne journée.

    Max

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

Discussions similaires

  1. pb avec liste déroulante à 2 colonnes visibles
    Par moicats dans le forum Access
    Réponses: 2
    Dernier message: 20/04/2006, 10h38
  2. [MySQL] probleme avec liste déroulante et requete
    Par Ludo75 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2006, 13h55
  3. Problème avec liste déroulante
    Par Invité dans le forum IHM
    Réponses: 2
    Dernier message: 14/12/2005, 21h04
  4. Pb Formulaire avec liste déroulante
    Par Rouanou dans le forum IHM
    Réponses: 12
    Dernier message: 23/11/2005, 16h51
  5. Aide à la saisie avec liste déroulante
    Par Oluha dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/02/2005, 09h04

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