Bonjour,
Voici mon "problème".
J'ai une liste de fournisseurs, identifiés par leur code et affichés par nom :
Je souhaiterais que quand on en sélectionne un, le pays correspondant s'affiche dans un calque à coté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <html:select property="codeFournisseur" onchange="afficherPays(this)"> <html:optionsCollection value="code" label="libelle" property="allFournisseurs" name="sessionDataManager" /> </html:select>
Mais je ne veux pas poster le formulaire, donc j'ai pensé au javascript..
Mon idée était la suivante : créer un calque par fournisseur, contenant le pays et nommer ce calque dynamiquement afin de pouvoir l'afficher.
Voila le bout de code auquel j'ai pensé :
Le javascript :
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 <% for (int i=0; i < allFournisseurs.size(); i++){ Fournisseur theFournisseur = (Fournisseur)allFournisseurs.elementAt(i); String pays = theFournisseur.getpaysice().getLibelle(); if (pays==null) { pays=""; theFournisseur.getpaysice().setLibelle(""); } else pays=pays.trim(); String codeFournisseur = theFournisseur.getCode(); if (codeFournisseur==null) { codeFournisseur=""; theFournisseur.setCode(""); } else codeFournisseur=codeFournisseur.trim(); %> <div id="pays_<%= codeFournisseur %>" style="visibility:hidden;"> <%= pays %> </div> <%}%>
Le problème se situe là :
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 function afficherPays(liste) { var fournisseur = liste.options[liste.selectedIndex].value; var pays="pays"+fournisseur; if (document.all) { alert('all'); document.all[pays].style.visibility="visible"; } if (document.layers) { alert('layers'); document.layers[pays].visibility="show"; } if (document.getElementById) { document.getElementById(pays).style.visibility="visible"; } }
Il ne peut pas compiler cette ligne ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part <div id="pays_<%= codeFournisseur %>" style="visibility:hidden;">
Qu'en pensez vous ?
Quelqu'un a-t-il une autre idée ou bien peut-il m'aider ? Comment concaténer ces valeurs ?..
Merci bcp !
Partager