Problème récupérer élément Ajax

Par guirou62, il y a 11 ans


Bonjour,

Pour commencer voici le code:

<script> function afficherCalendrier(feed){ console.log(feed); [...] else{ var leTotal = new Array(); for(var j=0;j<feed.lesProjets[0].lesTachesDuProjet.length;j++){ chaine+="<tr id='tac"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].id_tache+"'><td><b class='etage2'>+ "+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].nom_tache+"</b></td>"; for(var z=0;z<nombreJours;z++){ chaine+="<td class='aCliquerTache"; if(feed.lesJours[z].lettres=="V"){ chaine+=" redMargin"; } chaine+="' id='0_"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].id_tache+"_"+feed.lesJours[z].date+"'></td>"; } chaine+="</tr>"; //Les Sites for(var k=0;k<feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites.length;k++){ chaine+="<tr class='tac"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].id_tache+"'><td>"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].nom_site+"</td>"; //les horaires de chaques sites for(var l=0;l<feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].lesTemps.length;l++){ chaine+="<td class='aCliquer "; if(feed.lesJours[l].lettres=="V"){ chaine+="redMargin"; } chaine+="'><span id='0_"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].id_tache+"_"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].id_site+"_"+feed.lesJours[l].date+"_"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].modif[l]+"'>"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].lesTemps[l]+"</span></td>"; if (j==0) leTotal[l]=feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].lesTemps[l]; else leTotal[l]=leTotal[l]+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].lesSites[k].lesTemps[l]; } chaine+="</tr>"; } //LE PROBLEME console.log($("tr#tac"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].id_tache+" td.aCliquerTache").length); } } $("#calendrier tbody").html(chaine); } function remplirCalendrier(){ $.ajax({url:"data.php",dataType:'json',async:false,data:{"action":"afficherCalendrier","mois":leMois,"id_user":id_user},success: afficherCalendrier}); } </script>

Le soucis se trouve être la ligne juste sous le commentaire "LE PROBLEME", le résultat de la console 0 alors qu'il doit en avoir à chaque fois au moins 1 au minimum. (Je précise bien sur que tout le reste du code fonctionne ^^

Aidez moi, s'il vous plaît :(

Merci :)

Guillaume R.

3 réponses

Grafikart, il y a 11 ans

Un peu chaud de plonger dans ton code mais essaie d'afficher

"tr#tac"+feed.lesTaches[feed.lesProjets[i].lesTachesDuProjet[j]].id_tache+" td.aCliquerTache"

Pour voir si le selecteur est bon

Huggy, il y a 11 ans

Il me semble que tes indices i et j sont hors scope. le i sort de nulle part et le j est déclaré dans une boucle qui est déjà terminée.
j'ai bon ?

antho07, il y a 11 ans

Bonjour,

pas de problème pour le j ,

En revanche à quoi correspond i ??

for(var j=0;j<feed.lesProjets[0].lesTachesDuProjet.length;j++) ici i=0 ?

Peut -on à minima avoir le feed?

(le transporter de manière sérialiser :

console.log(JSON.stringify(feed));

)