Affichage d'une liste déroulante selon séléction dans une autre liste déroulante [Résolu]

Signaler
Messages postés
2
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
12 juin 2008
-
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011
-
Bonjour à tous

Je suis développeur Phoenix (application médicale) et du coup, je n'ai aucune expériance en Javascript. J'ai vraiment besoin d'aide...

Il me faut une petit fonction me permettant d'afficher un liste déroulante dont le contenu dépent du choix effectuer dans une autre liste déroulante.

Dans la pratique, selon le site opératoire choisi dans une première liste déroulante, il me faut filtrer les disiplines chirurgicales disponibles. Et le code ci-dessous ne réagit pas du tout comme je l'attends. Le même site est toujours séléctionné...

D'avance je vous remercie pour votre aide et espère avoir posé ma question correctement.

<tr><td>Site opératoire&nbsp;*&nbsp;

</td><td>
 <select id="id_53" name="%%PREOP_OP_SITE_C" onchange="HideSelect();"><option value=""></option>
    <option value="1">Sion</option>
    <option value="2">Sierre</option>
 <option value="3">Martigny</option> 
 </select></td></tr><tr><td>Durée envisagée du séjour en jours&nbsp;

</td><td>
    </td></tr><tr><td>Service/discipline &nbsp;*

</td><td>
    <select id="id_55_Sion" name="%%PREOP_SERV_C"><option value=""></option>
    <option value="100">Chirurgie générale</option>
    <option value="250">Neurochirurgie</option>
    <option value="230">Chirurgie cadiaque</option>
    <option value="240">Chirurgie plastique</option>
    <option value="190">Urologie</option>
    <option value="150">Gynécologie</option>
    <option value="151">Obstétrique</option>
    <option value="120">Chirurgie pédiatrique</option>
    <option value="170">Orthopédie-traumat</option>
    <option value="220">Dentiste</option>
    <option value="280">ORL</option>
    <option value="290">Chirurgie thoracique</option>
 </select>
 
 <select id="id_55_Sierre" name="%%PREOP_SERV_C"><option value=""></option>
    <option value="100">Chirurgie générale</option>
    <option value="250">Neurochirurgie</option> 
 </select>
 
 <select id="id_55_Martigny" name="%%PREOP_SERV_C"><option value=""></option>
    <option value="280">ORL</option>
    <option value="290">Chirurgie thoracique</option>
    </select></td></tr><tr><td colspan=2><hr width="500" size="2" color=""></td></tr>

<script language="javascript">
HideSelect = function()
 {
 var sel=document.getElementById("id_53");


 if (sel.selectedIndex = 0)
  {
  var sion=document.getElementById("id_55_Sion");
  var sierre=document.getElementById("id_55_Sierre");
  var martigny=document.getElementById("id_55_Martigny");
  sion.style.visibility = 'visible';
  sierre.style.visibility = 'hidden';
  martigny.style.visibility = 'hidden';
  }
  
 if (sel.selectedIndex = 1)
  {
  var sion=document.getElementById("id_55_Sion");
  var sierre=document.getElementById("id_55_Sierre");
  var martigny=document.getElementById("id_55_Martigny");
  sion.style.visibility = 'hidden';
  sierre.style.visibility = 'visible';
  martigny.style.visibility = 'hidden';
  }


 if (sel.selectedIndex = 2)
  {
  var sion=document.getElementById("id_55_Sion");
  var sierre=document.getElementById("id_55_Sierre");
  var martigny=document.getElementById("id_55_Martigny");
  sion.style.visibility = 'hidden';
  sierre.style.visibility = 'hidden';
  martigny.style.visibility = 'visible';
  }
 } 

</script>

Abro





Abro

6 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
Bonjour,

>>je n'ai aucune expériance en Javascript.
    pourquoi utiliser alors ?
    javascript n'est jamais obligatoire

>>Il
me faut
    si ce n'est pas possible.. on fait quoi ?

>>afficher un liste déroulante
dont le contenu dépent du
>>choix effectuer dans une autre liste
déroulante.
    tu n'as pas du chercher bien loin ! question plus que récurente !
    quelques explications ici ( exemples en js pur, en php, et avec ajax )

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
on peut bien entendu faire autrement...
en javascript, par exemple, des select cachés, et on montre
    celui qu'il faut en fonction du choix...   etc...
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
2
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
12 juin 2008

Bonjour bultez,

merci beaucoup pour votre réponse.

>>je n'ai aucune expériance en Javascript.
>>>pourquoi utiliser alors ?
>>>javascript n'est jamais obligatoire
Parce que je pensais que le fait d'afficher ou non un composant était une opération simple en JavaScript... Je dois travailler sur un formulaire déjà existant, fait par une personne ne travaillant plus dans le service, sans pour autant pouvoir le refaire complètement, faute de temps...

>>Il me faut
>>>si ce n'est pas possible.. on fait quoi ?
On cherche jusqu'à ce qu'on trouve une alternative... Non?!?


>>afficher un liste déroulante dont le contenu dépent du
>>choix effectuer dans une autre liste déroulante.
>>>tu n'as pas du chercher bien loin ! question plus que récurente !
>>>quelques explications ici ( exemples en js pur, en php, et avec ajax )
C'est vrai, aucune excuse....

Les explications dispensée ici me permette de régler mon problème!

Désolé pour le manque de perspicacité, heureusement qu'il y a des gars comme toi...

Un tout grand merci
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
faut prendre aussi, un peu, ce que je dis au 2ème degré....
quoique... on tombe sur tellement de personnes qui attendent
    uniquement un truc tout cuit, gratis..   je me méfie !
nickel si ça baigne et ravi si j'ai pu, un ch'tiot peu, orienter.
merci du retour.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

Bon pour info, le code est sympa et plutot bien fait, si ce n'est 2 grosses boulettes tout le meme:

dans un if, il faut doubler l'égalité!!!!! => if (sel.selectedIndex =
= 1)

deuxieme chose, tes option value du id_53 vont de 1 à 3 donc dans tes if, il faut 
if (sel.selectedIndex =
= 1)
puis
 if (sel.selectedIndex =
= 2)
et enfin
 if (sel.selectedIndex =
= 3)

Voila @+

L'entre-aide est la force de notre savoir
Messages postés
197
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
10 juillet 2011

et non if (sel.selectedIndex = 0)
puis
 if (sel.selectedIndex = 1)
et enfin
 if (sel.selectedIndex = 2)

Ciao