Je monte en complexité, peut-être d'ailleurs un peu trop pour un non développeur...
J'ai un publipostage de pages HTML, chaque body incluant une table1 qui elle-même inclue une ou plusieurs table(s)2.
J'ai besoin d'afficher (ou supprimer) certains body en fonction d'une condition dans la table1 et de deux conditions dans la table2.
J'arrive sans prble à gérer séparément table1/table2, mais pas à croiser...
J'avais commencé comme ça :
qui ne donne rien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function Table() { var tableau1 = document.getElementsByClassName("table1"); tableau2 = document.getElementsByClassName("table2"); body = document.getElementsByClassName("body"); for(var i=0, j=0;i<tableau2.length, j<tableau1.length;i++, j++) { tab2 = tableau2[i]; ville = tableau2[i].rows[3].cells[1]; situation = tableau2[i].rows[1].cells[1]; tab = tableau1[j]; site = tableau1[j].rows[1].cells[1]; bod = body[j]; if ((ville.innerHTML.trim()== "Arras") && (situation.innerHTML.trim() == "Disponible") && (site.innerHTML.trim() == Arras")) { bod.style.display='none'; } else { bod.style.display='block'; } } };
Une autre ébauche pas bcp plus efficace (seule la condition sur la table1 est prise en compte, ça ne semble pas très logique du côté des if) :
Merci d'avance pour tout coup de main !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function Tab() { var tableau2 = document.getElementsByClassName("table2"); tableau1 = document.getElementsByClassName("table1"); body = document.getElementsByClassName("body"); for(var i=0; i<tableau2.length; i++) { tab2 = tableau2[i]; ville = tableau2[i].rows[3].cells[1]; situation = tableau2[i].rows[1].cells[1]; if ((ville.innerHTML.trim()== "Arras") && (situation.innerHTML.trim() == "Disponible")) { for (var j=0; j<tableau1.length; j++) { tab = tableau1[j]; bod = body[j]; site = tableau1[j].rows[1].cells[1]; if (site.innerHTML.trim() == "Arras") { bod.style.display='none'; } else { bod.style.display='block'; } } } } };
Partager