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 :

Masquer une option dans un select


Sujet :

JavaScript

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 451
    Points
    451
    Par défaut Masquer une option dans un select
    Comme indiqué dans l'intitulé, je cherche à masquer une option dans un select.
    J'utilise une ligne (qui me semble) classique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monID').options[num_option].style.display = 'none';
    Ca marche avec FireFox par contre IE ne modifie pas son affichage, ce qui est d'autant plus frustrant que si je lui demande de m'afficher les valeurs de ".style.display"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i = 0; i < document.getElementById('monID').length; i++){
    alert(document.getElementById('monID').options[i].value + "affichage : " +
    document.getElementById('monID').options[i].style.display);
    Il m'affiche les bonnes valeurs,
    et si je lui demande de masquer tout le select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monID').style.display = 'none';
    il le fait.

    Si quelqu'un a une idée...

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Points : 451
    Points
    451
    Par défaut
    Salut,
    non pas que je veuille insister lourdement , mais je met un petit exemple qui sera, peut-être, plus parlant.

    L'idée c'est de masquer certaines options des combos box afin que l'utilisateur ne puisse pas sélectionner dans la boite gauche une valeur supérieure à la valeur de droite. FF le fait et pas IE

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     
    <html>
    <head>
     
    <script type="text/javascript" language="JavaScript">
     
    function verif_gauche()
    {
    if (document.getElementById("Fin").selectedIndex < document.getElementById("Debut").selectedIndex)
        document.getElementById("Fin").selectedIndex = document.getElementById("Debut").selectedIndex;
     
    for (i = 0; i <= document.getElementById('Debut').selectedIndex; i++){
    document.getElementById("Fin").options[i].style.display = "none";
     }
     for (i = document.getElementById('Debut').selectedIndex; i < document.getElementById("Fin").length; i++){
    document.getElementById("Fin").options[i].style.display = "block";
     }
    /* Quand on affiche on a les bonnes valeurs
     for (i = 0; i < document.getElementById("Fin").length; i++){
    alert(document.getElementById("Fin").options[i].style.display);
     }*/
    }
     
     function verif_droite()
    {
    if (document.all('dhDebut').selectedIndex > document.all('dhFin').selectedIndex)
        document.all('dhDebut').selectedIndex = document.all('dhFin').selectedIndex;
     
    for (i = 0; i <= document.all('dhFin').selectedIndex; i++){
    document.all('dhDebut')[i].style.display = 'block';
     }
     for (i = document.all('dhFin').selectedIndex + 1; i < document.all('dhDebut').length; i++){
    document.all('dhDebut')[i].style.display = 'none';
     }
    }
     
    </script>
     
    </head>
     
    <body>
     
    <select name="dhDebut" id="Debut" onchange="javascript: verif_gauche(); ">
    <option>a</option>
    <option>b</option>
    <option>c</option>
    <option>d</option>
    <option>e</option>
    <option>f</option>
    <option>g</option>
    <option>h</option>
    </select> et le 
    <select name="dhFin" id="Fin" onchange="javascript: verif_droite(); ">
    <option>a</option>
    <option>b</option>
    <option>c</option>
    <option>d</option>
    <option>e</option>
    <option>f</option>
    <option>g</option>
    <option selected>h</option>
    </select>
     
    </body>
    </html>
    Voilà....

Discussions similaires

  1. Récupérer la value d'une option dans un select ?
    Par olbouss dans le forum jQuery
    Réponses: 3
    Dernier message: 31/08/2009, 14h27
  2. desactiver une option dans un select
    Par humanzam dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/11/2008, 14h35
  3. Changer graisse d'une option dans un select et dans IE
    Par mioux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/12/2007, 10h24
  4. Selectionner une option dans un select
    Par sir_gcc dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/05/2007, 22h55
  5. Selectionner une option dans un select
    Par _beber85 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2006, 16h48

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