Probleme de variable globale ?
Salut à tous,
Voila mon but est de faire de menus déroulants liés entre eux...Alors comme je suis un brave garçon j'ai d'abord fait une recherche ici avant de poster ^^ et j'ai donc trouvé ce code qui est exactement ce qu'il me faut...
SAUF QUE... (évidemment hein :mrgreen: )
dans mon cas les tableaux sont alloués dynamiquement. Donc bon je fais les modifs nécessaires.
Au début de mon script j'ai
Code:
1 2 3
|
var DevType = new Array();
var Obj = new Array(); |
qui sont mes tableaux contenus dans les 2 menus (l'équivalent de pays et ville dans l'exemple)
Puis dans une fonction de chargement des menus je mets
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
function fctLoadDat()
{
DevType[0] = new Array("t0", "Account");
DevType[1] = new Array("t0", "Product");
DevType[2] = new Array("t0", "Project");
DevType[3] = new Array("t0", "Other");
.
.
.
if (Nb != 0)
for (i=1 ; i<=Nb ; i++)
{
newCpy = "ma super valeur dynamique"
ArrayCpy[i-1] = new Array();
ArrayCpy[i-1][0] = newCpy;
ind = "t0o"+i;
Obj["t0"][i-1] = new Array(ind,newCpy); |
à ce moment la mon Obj contient exactement ce qu'il faut, mais des que j'arrive dans la partie HTML qui elle ne change pour ainsi dire pas :
Code:
1 2 3 4 5 6 7 8
|
<select name="ListDevType" onChange='javascript:filltheselect(this.name, this.value)'>
<script language="javascript">
alert(DevType);
for (i=0; i<DevType.length; i++)
document.write("<option value=\"" +DevType[i][0]+ "\">" +DevType[i][1]);
</script>
</select> |
là on me dit que DevType n'existe pas, plus exactement que DevType[...].0 a la valeur null ou n'est pas un objet
Code:
1 2 3 4 5 6 7 8
|
<select name="ListObj" onChange='javascript:filltheselect(this.name, this.value)'>
<script language="javascript">
alert(Obj["t0"]);
for (i=0; i<Obj["t0"].length; i++)
document.write("<option value=\"" +Obj["t0"][i][0]+ "\">" +Obj["t0"][i][1]);
</script>
</select> |
et idem ici pour Obj["t0"].length
La je ne comprends pas...c'est parce que je ne suis plus dans le meme script ? il ne connait plus mes variables globales ? mais alors pourquoi ca marche dans l'exemple avec les tableaux statiques ? :(
Merci d'avance si vous avez une explication (et éventuellement une solution ^^)