Bonjour
Alors je vous explique un peu mon probleme.
pour commencer , j'ai une liste d'element qui est generer avec un xml genere sur le serveur.
ma liste d'element est de la forme suivante :
<div id="elem"+i> valeur de l'element </div>
avec i qui varie de 0 a n-1 ( n etant le nombre total d'element )
mon but est que lorsque je click sur un element il se met en etant selectionner (class="select" )
par defaut l'element 0 est selectionner
et que si il y a un element qui etait deja selectionner il soit deselectionner (class="")
donc j'ai fait un evenement onclick sur chaque div qui contien les element
l'evenement apelle une fonction selected( element a selectionner , ensien element selectionner , nombre d'element )
est c'est la que commence les probleme ...
function selected(i,select,taille){
// je selection et deselection les element
document.getElementById("select"+select).className = "";
document.getElementById("select"+i).className = "select";
//alert(i);
var j;
// je change les valeur passer car l'element selectioner a changer
for(j=0;j<taille;j++){
document.getElementById("select"+j).onclick= function(){ selected(j,i,taille);};
}
}
donc lorsque je click sur un element ça marche bien , le changement a bien lieu.
par contre quand je click a nouveau il y a un probleme.
et j'ai remarquer que le probleme vien lors du changement de l'evenement onclick.
si je decomente alert(i); ça m'affiche la ligne sur la quel on a clicker.
la premier foi ça marche bien , mais la deuxieme foi il me dit taille quelque soit la ligne sur la quel je click.
exemple :
*[bonbon]
[gateau]
[fruit]
je click sur gateau :
j'ai une alert avec 1
[bonbon]
*[gateau]
[fruit]
je click sur bonbon
j'ai une alert avec 3
erreur imposible de selectionner la ligne 3 (elle n'existe pas ... )
je pense que dans le changement d'evenement j est passé par reference et non par valeur
car a la fin de l'execution de la fonction j vaut taille (vu qu'on est sortie de la boucle for)
esque quelqu'un pourai m'aidé ?
Merci