[JSP]Nommage de calque dynamique
Bonjour,
Voici mon "problème".
J'ai une liste de fournisseurs, identifiés par leur code et affichés par nom :
Code:
1 2 3
| <html:select property="codeFournisseur" onchange="afficherPays(this)">
<html:optionsCollection value="code" label="libelle" property="allFournisseurs" name="sessionDataManager" />
</html:select> |
Je souhaiterais que quand on en sélectionne un, le pays correspondant s'affiche dans un calque à coté.
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é :
Code:
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 javascript :
Code:
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";
}
} |
Le problème se situe là :
Code:
<div id="pays_<%= codeFournisseur %>" style="visibility:hidden;">
Il ne peut pas compiler cette ligne ..
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 !