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 :

Remplissage d'une liste deroulante


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 129
    Points : 43
    Points
    43
    Par défaut Remplissage d'une liste deroulante
    bonjour tt le monde,

    j'ai un souci par rapport au remplissage de ma 2 liste c-a- dire au momment ou je clique sur direction qaulité , je dois avoir la case 0 dans switch ect ..

    merci d'avance de votre aide


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      <tr>
       <td></td><td>Direction concernée :</td>
     
       <td>
           <select name="lstDirection">
              <option value="01">Direction de la qualité</option>
              <option value="02">Direction du personnel</option>
              <option value="03">Direction des services Techniques</option>
              <option value="04">Direction Informatique</option>
           </select>
       </td>
      </tr>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <select name="lstTypeTdb">
        </select
    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
    <script language ="javascript">document.forms[0].lstDirection.onchange = pvRemplir; 
     
     function pvRemplir()
    {  
        var ioOption;
        var iiSelect;
        var isChoix;
        iiSelect = document.forms[0].lstDirection.selectedIndex;
     
     
     
        switch(iiSelect)
        {
     
        case 0 :   isChoix = new Array("Enquête de satisfaction", "Plaintes des usagers", "Taux d'infections nosocomiales"); break;
        case 1 :   isChoix = new Array("Taux d'absenteisme", "Effectifs par service");break;
        case 2 :   isChoix = new Array("Pannes du matériel biomédicale", "Pannes réseau électrique", "Pannes téléphoniques");break;
        case 3 :   isChoix = new Array("Coupures reseau", "Indisponibilité SIH");break;
        }
     
     
     
        ioOption = new Option(isChoix);
        document.forms[0].lstTypeTdb.add(ioOption);
     
     
     
    }

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Et comme cela?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
      <tr>
       <td></td><td>Direction concernée :</td>
     
       <td>
           <select name="lstDirection" onchange = "pvRemplir()">
              <option value="01">Direction de la qualité</option>
              <option value="02">Direction du personnel</option>
              <option value="03">Direction des services Techniques</option>
              <option value="04">Direction Informatique</option>
           </select>
       </td>
      </tr>
    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
    <script language ="javascript">
     
     function pvRemplir()
    {  
        var ioOption;
        var iiSelect;
        var isChoix;
        iiSelect = document.forms[0].lstDirection.selectedIndex;
     
        switch(iiSelect)
        {
     
        case "01" :   isChoix = new Array("Enquête de satisfaction", "Plaintes des usagers", "Taux d'infections nosocomiales"); break;
        case "02" :   isChoix = new Array("Taux d'absenteisme", "Effectifs par service");break;
        case "03" :   isChoix = new Array("Pannes du matériel biomédicale", "Pannes réseau électrique", "Pannes téléphoniques");break;
        case "04" :   isChoix = new Array("Coupures reseau", "Indisponibilité SIH");break;
        }
     
        ioOption = new Option(isChoix);
        document.forms[0].lstTypeTdb.add(ioOption);
     
    }
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 129
    Points : 43
    Points
    43
    Par défaut
    merci de ton conseil , mais je voulais savoir , comment on pouvait résoudre ce probleme
    merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    Ceci devrait fonctionner nettement mieux
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script language="JavaScript">
    function pvRemplir()
    {  
        var ioOption;
        var iiSelect;
        var isChoix;
        iiSelect = document.getElementById("lstDirection").selectedIndex;
        switch(iiSelect)
        {
    	case 0 :
    		document.getElementById("lstTypeTdb").add(new Option("Enquête de satisfaction"));
    		document.getElementById("lstTypeTdb").add(new Option("Plaintes des usagers"));
    		document.getElementById("lstTypeTdb").add(new Option("Taux d'infections nosocomiales"));
    	break;
    	case 1 :
    		document.getElementById("lstTypeTdb").add(new Option("Taux d'absenteisme"));
    		document.getElementById("lstTypeTdb").add(new Option("Effectifs par service"));
    	break;
    	case 2 :
    		document.getElementById("lstTypeTdb").add(new Option("Pannes du matériel biomédicale"));
    		document.getElementById("lstTypeTdb").add(new Option("Pannes réseau électrique"));
    		document.getElementById("lstTypeTdb").add(new Option("Pannes téléphoniques"));
    	break;
    	case 3 :   
    		document.getElementById("lstTypeTdb").add(new Option("Coupures reseau"));
    		document.getElementById("lstTypeTdb").add(new Option("Indisponibilité SIH"));
    	break;
        }
    }
    </script>
    </head>
    <body onLoad="pvRemplir()">
    <table width="75%" border="1">
      <tr>
       <td></td><td>Direction concernée :</td>
     
       <td>
           <select name="lstDirection" onchange = "pvRemplir()">
              <option value="01">Direction de la qualité</option>
              <option value="02">Direction du personnel</option>
              <option value="03">Direction des services Techniques</option>
              <option value="04">Direction Informatique</option>
           </select>
     <select name="lstTypeTdb">
        </select>
    	   </td>
      </tr>
      </table>
    </body>
    </html>
    Il reste un détail. Quand on entre dans la fonction, le select doit être débarassé des options qu'il contient.
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 129
    Points : 43
    Points
    43
    Par défaut
    merci Ouach de m'avoir eclairci les choses,

    je voulais l'utiliser en boucle pour eviter de tout retapper .

    merci

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 129
    Points : 43
    Points
    43
    Par défaut
    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
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    function pvRemplir()
    {  
        var isValeur;
        var ioOption;
        var iiSelect;
        var isChoix;
        var iiIndex;
     
        iiSelect = document.forms[0].lstDirection.selectedIndex;
     
     
        switch(iiSelect)
        {
        case 0 :   isChoix = new Array("Enquête de satisfaction", "Plaintes des usagers", "Taux d'infections nosocomiales");break;
        case 1 :   isChoix = new Array("Taux d'absenteisme", "Effectifs par service");break;
        case 2 :   isChoix = new Array("Pannes du matériel biomédicale", "Pannes réseau électrique", "Pannes téléphoniques");break;
        case 3 :   isChoix = new Array("Coupures reseau", "Indisponibilité SIH");break;
        }
     
        for(iiIndex = 0; iiIndex < isChoix.length; iiIndex++)
        {
          isValeur = isChoix[iiIndex];
          ioOption = new Option(isValeur);
          document.forms[0].lstTypeTdb.add(ioOption);
        }
     
     
     
     
     
     
    }

    il y'a un bug quand je clique sur le 2 items ,et là il y'a un ajout sur le resultat de la premiére au lieu que chacun ait son propre affichage

    merci ouach

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 254
    Points : 304
    Points
    304
    Par défaut
    J'ai écrit:
    Il reste un détail. Quand on entre dans la fonction, le select doit être débarassé des options qu'il contient.
    Ce n'est pas un bug. Seulement une fonctionnalité à laquelle je n'ai pas investigué plus.
    Si quelqu'un connait le moyen de supprimer les options dans un select avant remplissage avec javascript, cela aidera monphp.
    Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.

Discussions similaires

  1. remplissage d'une liste deroulante
    Par alen22 dans le forum jQuery
    Réponses: 25
    Dernier message: 29/03/2011, 09h20
  2. Réponses: 3
    Dernier message: 15/02/2010, 13h28
  3. Probleme de remplissage d'une liste déroulante
    Par kodo dans le forum Struts 1
    Réponses: 3
    Dernier message: 23/08/2007, 16h13
  4. Parcourir une liste deroulante
    Par brandon dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2005, 19h03
  5. plusieurs value dans une liste deroulante
    Par lepierre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/11/2004, 14h53

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