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 :

Cacher un élément d'une liste déroulante au premier chargement de la page


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 20
    Points : 17
    Points
    17
    Par défaut Cacher un élément d'une liste déroulante au premier chargement de la page
    Bonjour ,
    J'ai ma liste deroulante qui se charge dans Onload
    Dans ma liste déroulante , j'ai 8 choix
    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
    <option value="0">
      <xsl:value-of select="reportmove" />
    </option>
    <option value="4">
      <xsl:value-of select="reportstoptime" />
    </option>
    <option value="1">
      <xsl:value-of select="reportidle" />
    </option>
    <option value="2">
      <xsl:value-of select="reportspeed" />
    </option>
    <option value="3">
      <xsl:value-of select="reportunauthorized" />
    </option>
    <option value="5">
      <xsl:value-of select="reportaux" />
    </option>
    <option value="6">
      <xsl:value-of select="reportengineerror" />
    </option>
    <option value="7">
      <xsl:value-of select="ifta" />
    </option>
    <option value="8">
      <xsl:value-of select="chauff" />
    </option>

    J'ai essayé de cacher l'élément <option value="8"><xsl:value-of select="chauff"/></option> de ma liste déroulante si ""branch").value != 696)"
    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
    if (document.getElementById("branch").value != 696) {
     
      document.getElementById("inputDate").style.display = "none";
      //ca marche pour "inputDate"
      var y = document.getElementById("eventType").value;
     
      alert(y);
     
      if (y.value == "8") {
        document.getElementById("eventType").style.display = "none";
      }
    }

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 122
    Points : 44 914
    Points
    44 914
    Par défaut
    Bonjour,
    le code HTML généré aurait été le bien venu

    Tu ne peux pas masquer une option d'un select, mais tu peux en ajouter/supprimer une dynamiquement.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 73
    Points : 100
    Points
    100
    Par défaut
    Avec quelques petites manip on peut rendre un élément impossible à sélectionner sans avoir à le retirer avec l'action onchange :
    quelque chose de ce genre doit marcher

    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
     
    <FORM action="" method="post" name="maxiform"><P>
    <P><SELECT NAME="continent" id="continent" onchange="isdisable()">
    <OPTION>Europe
    <OPTION class="disableopt">Asie</OPTION>
    <OPTION>Afrique
    <OPTION>Am&eacute;rique
    <OPTION>Oc&eacute;anie
    </SELECT><P>
    </FORM>
     
    <script>
    //Traitement ajout de la class "disableopt" aux elements cibles
    //...
     
    //On grise les le/les éléments que l'on ne veut plus pouvoir selectionnés
    document.getElementsByClassName("disableopt")[0].style.color="gray";
     
    function isdisable()
    {
    //A adapter si on veut que plusieurs options soient desactivées
    	valeur_opt_disable=document.getElementsByClassName("disableopt")[0].value;
    	valeur_opt_select=document.getElementById('continent').options[document.getElementById('continent').selectedIndex].value;
    //Si l'élément correspond à un element bloqué on rebascule vers une autre option valide
    	if(valeur_opt_disable==valeur_opt_select)
    	{
    		document.maxiform.elements['continent'].selectedIndex=0;
    	}
    }
     
    </script>

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/04/2007, 14h07
  2. Réponses: 2
    Dernier message: 29/03/2007, 10h18
  3. Réponses: 2
    Dernier message: 09/01/2007, 16h38
  4. Réponses: 6
    Dernier message: 09/01/2007, 11h38
  5. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 07h50

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