Parcours d'un tableau en JS

Résolu
canyata Messages postés 6 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 9 novembre 2010 - 2 nov. 2010 à 15:06
canyata Messages postés 6 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 9 novembre 2010 - 3 nov. 2010 à 13:17
Bonjour à tous

J'ai une question à vous poser.

J'ai un tableau en HTML sur ma page:

echo"\";
echo\"\";
echo\"----
\";
echo\"";
echo" |\";
echo\"";
echo" |\";
echo\"";
echo" |\";
echo\"\";
echo\"\";
echo\"\";
echo\"\";
echo"
";


Sur ce tableau j'ajoute en JS des lignes:

function ajouter_Technicien(){
                 getXhr();
                // On défini ce qu'on va faire quand on aura la réponse
                xhr.onreadystatechange = function(){
                    // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
                    if(xhr.readyState 4 && xhr.status 200){
                        leselect = xhr.responseText;
                        // On se sert de innerHTML pour rajouter les options a la liste
                        ajouterLigne(leselect);
                        modifier_Liste_Technicien();
                    }
                }
                // Ici on va voir comment faire du post
                xhr.open("POST","vue/ajaxTechnicien.php",true);
                // ne pas oublier ça pour le post
                xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
                // ne pas oublier de poster les arguments
                // ici, l'id de l'auteur
                sel = document.getElementById('technicien_affecte');
                idtechnicien = sel.options[sel.selectedIndex].value;
                alert(idtechnicien);
                xhr.send("ID_TECHNICIEN="+idtechnicien);
            }


function ajouterLigne(nom){
var tableau = document.getElementById("tab_tech");
 
var ligne = tableau.insertRow(-1);//on a ajouté une ligne
 
var colonne1 = ligne.insertCell(0);//on a une ajouté une cellule
colonne1.innerHTML += "";
 
var colonne2 = ligne.insertCell(1);//on ajoute la seconde cellule
colonne2.innerHTML += nom;
 
var colonne3 = ligne.insertCell(2);//on ajoute la troisieme cellule
colonne3.innerHTML += "";
}

Quand je parcours mon tableau avec:

var arrayLignes = document.getElementById("tab_tech").rows; //on récupère les lignes du tableau
var longueur = arrayLignes.length;//on peut donc appliquer la propriété length
alert("Longueur :" + longueur);
 
for(var i=0; i<longueur; i++)//on peut directement définir la variable i dans la boucle
{
var arrayColonnes = arrayLignes[i].cells;//on récupère les cellules de la ligne
var largeur = arrayColonnes.length;
alert("Largeur :" + largeur);
}


Il me sort le bon nombre de ligne et de colonne.

Je souhaiterais voir ce qu'il y a dans la cellule de la ligne 1 (pas la 0 la première que je vais ajouter) de la colonne 2 (qui a l'indice 1).

Est-t-il possible de faire une alert(quelque chose de [1][1]) ???

Comment puis-je faire également pour voir ou récuperer la valeur qu'il y a dans une cellule du tableau si j'ai ses coordonnées (pour faire une comparaison de cette valeur? )

Merci d'avance j'espère que j'ai été clair.

4 réponses

Zobibol Messages postés 469 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 20 février 2017 6
2 nov. 2010 à 16:58
Le traitement n'était pas loin

Mais il y a un décallage avec ton dernier commentaire, la colonne 1 contient IMG et non "titi" (il est partout celui la ), il est dans la colonne 2.
Je présume qu'une erreur c'est produite, vu que le code javascript de la méthode ajouterLigne indique plutôt que titi est dans la colonne 1.

for(var i=0; i<longueur; i++)//on peut directement définir la variable i dans la boucle
{
var columnValue = arrayLignes[i].cells[1].innerHTML; // récupère le contenu de la deuxième cellule.
alert(" à la ligne " + i + " la colonne nom vaut: "  + columnValue );
}


non ?



[o-_-o]
3
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
2 nov. 2010 à 15:39
j'ai du mal a suivre sinon dans un tableau si je veut atteindre la troisiemee colonne de la deuxieme ligne je ferait

 var tb=document.getElementById('montableau')
tb.rows[1].cells[2].childNodes[0].nodeValue)


en admettant que j'ai du texte a cette endroit cela me retournera le texte
0
canyata Messages postés 6 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 9 novembre 2010
2 nov. 2010 à 16:18
  0                 1                2
0        IMG                 Titi             IMG

1        IMG                Toto             IMG


Ce qu'il m'interesse c'est en fait de pouvoir récuperer la valueur des lignes dans la colonne 1 pour les traiter.

Et je sais pas trop comment faire

En gros je veux récuperer Titi et Toto et les comparer à une autre valeur :)

Merci de la réponse :)
0
canyata Messages postés 6 Date d'inscription jeudi 12 mars 2009 Statut Membre Dernière intervention 9 novembre 2010
3 nov. 2010 à 13:17
Merci beaucoup :)
0
Rejoignez-nous