Accès colonne tableau à partir de headers

Résolu
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 29 sept. 2006 à 09:11
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 4 oct. 2006 à 15:19
Bonjour

J'espère ne pas m'être trompée de thème

Alors j'ai une question de syntaxe toute bête dont je n'arrive pas à mettre la main sur la réponse !

J'ai un tableau avec certaines colonnes qui contiennent un id, pour que les cases de cette colonne puissent avoir un headers.
Comment accéder à la valeur d'une case d'une certaine colonne qui a un identifiant (je suis capable de récupérer l'identifiant de la colonne auquelle elle appartient maus pas l'inverse).

Par exemple, là j'aimerais récupérer la valeur de la case de la colonne totalFTE de la ligne 1 :
document.getElementById('tabFacture').rows[1].cells["totalFTE"].innerHTML

(Bon en fait c'est dans une boucle cette ligne de code, la première fois que je passe dans la boucle ça marche, mais ça met une erreur tout de suite après et puis je vois pas les valeurs des autres lignes).

J'espère avoir été claire

Merci

9 réponses

cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
4 oct. 2006 à 15:19
Ben je crois qu'il n'y a rien qui fasse ce deux je veux directement, mais j'ai fais comme ça et ça marche :

var ligneEnCours = document.getElementById('tabFacture').rows[cpt];
for(var k=0 ; k<ligneEnCours.cells.length ; k++)
{
if(ligneEnCours.cells[k].headers=="totalFTE")
{
alert("bonne case !");
}
}

Voilà merci pour ton aide en tout cas :)
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 sept. 2006 à 10:46
Bonjour,
   ben, si la colonne a un id, par son id ? non ?
      document.getElementById("id de la colonne").innerHTML par exemple
   sans id :
      tableau.rows[n° ligne].cells[n° colonne].innerHTML
<hr />
            Cordialement Bul [mon Site] [M'écrire]
<hr />
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
29 sept. 2006 à 10:58
Tout d'abord merci pour ta réponse, mais je crois qu'on s'est mal compris, ou j'ai pas compris ta réponse !

document.getElementById("id de la colonne").innerHTML --> Là je récupère l'intitulé de la colonne qui a cet id.

Moi ce que je veux, c'est récupérer les valeurs des cases de cette colonne. Et pour cela me servir de l'id de cette colonne qui vaut le headers des cases. Je crois que c'est incompréhensible ...

En gros j'ai :
         ----
blablabla |id="totalFte">total fte |
        ----
essai, headers="totalFte">

Comment accéder à la case td qui a pour headers "totalFte" ??
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 sept. 2006 à 11:15
Bonjour,
   tu veux récupérer les valeurs de toutes les lignes d'une même colonne ?
   si j'ai compris ???
   il va falloir faire une boucle en utilisant :
      document.getElementById("id de la cellule").cellIndex c'est le n° de colonne
      document.getElementById("id du tableau").length        c'est le nombre de lignes




<hr />
            Cordialement    Bul    [
mon Site
]    [
M'écrire
]
<hr />

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
29 sept. 2006 à 11:21
Ouiiiii :) voilà c'est ce que je voulais, j'avais la boucle et tout et tout, mais j'arrivais pas à récupérer le numéro de la colonne.

Par contre tu utilises pas le headers, dans ce cas là, à quoi ça sert de mettre un headers au cases de la colonne ? Je croyais que ça faisait un lien et qu'ainsi à partir du headers on accédait aux bonnes colonnes ...
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 sept. 2006 à 11:22
et pour répondre à la question :
        ----
blablabla |total fte |
        ----
essai, exemple

<Script type="Text/JavaScript"><!----------
 var ou=document.getElementById("totalFte").cellIndex;
 alert ( document.getElementById("tableau").rows[1].cells[ou].innerHTML );
 
//----------></Script>

par exemple

<hr />
Cordialement Bul [mon Site] [M'écrire]
<hr />
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
29 sept. 2006 à 11:33
selfHTML (par exemple) cause  de headers dans un td,
je n'ai jamais utilisé ( mais j'ai utilisé peu de choses,
    et pas eu de nécessité de regarder headers )

avec les id, rowIndex, cellIndex... ça m'a toujours suffit.
   mais peut-être peut-on faire des trucs intéressants
   et plus simples grâce aux headers ?

<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
29 sept. 2006 à 11:44
Ben je me rappelle d'un de mes cours, où on nous avait conseiller les headers, parce que une case qui a un header est directement lié à l'id de ta colonne, donc c'est mieux, parce que tu demande pas l'indice par rapport à l'id de la colonne, mais par rapport à l'headers de la case où tu es.

Mais comme tu as fais ça marche aussi, donc ... :)

Merci en tout cas pour tes réponses :)
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
3 oct. 2006 à 13:59
Je relance le sujet car ça ne va plus :(
En effet, j'ai certaines lignes du tableau qui ne font qu'une case (colspan="7"), et donc si je fais
document.getElementById('tabFacture').rows[cpt].cells[document.getElementById("totalFTE").cellIndex].innerHTML

J'ai une erreur me disant que document.getElementById('tabFacture').rows[cpt].cells[6] n'a pas de propriétés, ce qui est logique puisque pour les lignes regroupant toutes les cases, la ligne 6 n'existe plus, d'où le fait que j'ai besoin d'accéder par headers et pas par id ...

Quelqu'un voit comment faire svp ?
Rejoignez-nous