listes déroulantes dynamiques liées

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : listes déroulantes dynamiques liées

par albat » 15 déc. 2005, 12:20

Modération :
Avant de déposer une question, il est préférable d'utiliser
la fonction "Rechercher" du forum pour vérifier si le sujet n'a pas déjà été traité.

La réponse à ta recherche est peut-être déjà dans la FAQ...
http://www.phpfrance.com/forums/voir_sujet-9551.php

Par ailleurs, il est demandé d'utiliser les balises
 et [code]
pour insérer lisiblement son source.
Merci.[/color]

listes déroulantes dynamiques liées

par emilyz » 15 déc. 2005, 12:11

Bonjour,

Je souhaiterais créer 3 ou plusieurs listes déroulantes dynamiques dépendantes les unes des autres. J'ai trouvé un script en javascript qui permet de faire 2 listes déroulantes dépendantes l'une de l'autre, mais je n'arrive pas à adapter ce code pr reproduire la même chose avec 3 listes ou plus.

En fait, je voudrais 3 listes déroulantes : société, site et métier
La liste "site" dépend de la société qu'on a choisi auparavant, et la liste "métier" dépend de la société et du site.

Aidez moi SVP !!!

Mon code :
<script language="JavaScript" type="text/JavaScript">
var mod=new Array();
mod[1]=new Array("Nantes", "Paris");
mod[2]=new Array("Lourmel", "Nice" , "Rennes");
mod[3]=new Array("Agen", "Albi" ,"Alençon" , "Amiens" ,"Angers", "Angouleme", "Aurillac", "Auxerre", "Avignon", "Bastia", "Bayonne", "Beauvais", "Blois", "Bordeaux", "Bourges", "Brest", "Brive", "Caen", "Calais", "Charenton", "Chartres", "Chateauroux", "Chenove", "Clermont", "Clichy", "Dammarie", "Dijon", "Evreux", "La-Roche-sur-Yon", "Lab&egrave;ge", "Laval", "Le Havre", "Le Mans", "Le Puy", "Lille", "Limoges", "Lorient", "Lourmel", "Lyon", "Marseille", "Massy", "Meaux", "Montpellier", "Moulins", "Nanterre", "Nantes", "Nevers", "Nice", "Nimes", "Niort", "Orléans", "Paris", "Pau", "Perigueux", "Perpignan", "Plerin", "Poitiers", "Reims", "Rennes", "Rochefort", "Rodez", "Rouen", "St-Lo", "Tarbes", "Toulon", "Tours", "Troyes");
mod[4]=new Array("Avignon", "Bordeaux" , "Bourges" , "Caen", "Charenton", "Clermont", "Dammarie", "Dijon", "Labège", "Laval", "Lille", "Limoges", "Lorient", "Marseille", "Massy", "Montpellier", "Nanterre", "Nice", "Niort", "Orléans", "Paris", "Pau", "Reims", "Rennes", "Rouen", "Tours");
mod[5]=new Array("Amiens", "Bordeaux" , "Caen" , "Charenton", "Clermont", "Dijon", "Labège", "Lille", "Limoges", "Lyon", "Marseille", "Massy", "Montpellier", "Nanterre", "Nantes", "Niort", "Orl&eacute;ans", "Paris", "Reims", "Rennes", "Rouen", "Tours");


function updateMod()
{
    var newOpt;
    var cl_=document.getElementById("selectsociete").value;
    clearMod();
    newOpt=new Option("<site>", 0);
    document.getElementById("selectsite").options[0]=newOpt;
    if (cl_!=0)
    {
        for (i_=0; i_<mod[cl_].length; i_++)
        {
            newOpt=new Option(mod[cl_][i_], mod[cl_][i_]);
            document.getElementById("selectsite").options[document.getElementById("selectsite").length]=newOpt;
        }
    }
}

function clearMod()
{

    while (document.getElementById("selectsite").options.length>0)
    document.getElementById("selectsite").options[document.getElementById("selectsite").options.length-1]=null;
}

</script>

</head>
<body>

<FORM name="form1" method="POST">

<select name="selectsociete" class="txform" id="selectsociete" onchange="updateMod()">
<option value="0" selected><Société></option>
<option value="1">SAGEBAT</option>
<option value="2">SAGENA</option>
<option value="3">SMABTP</option>
<option value="4">SMAVIE</option>
<option value="5">SOCABAT</option>
</select>

<select name="selectsite" class="txform" id="selectsite" >
</select>