Je découvre le javascript à travers le livre Tout Javascript.
Je travaille actuellement sur un projet pour notre association :
J'aimerai proposer un site type tumblr avec des posts successifs et chronologiques selon les activités de l'asso, les projets en cours, etc...
J'ai créé un menu déroulant proposant des filtres à travers différentes checkbox.
Via ces checkbox, j'aimerai n'afficher que certains divs selon le filtre choisi.
Par exemple j'ai un post XY montrant un projet de " logement social" incluant un travail sur le "paysage" et le sigle du projet s'appelle "GIL"
Quand le coche la CB "Logement Social" la div doit d'afficher.
Mais elle doit également s'afficher quand je coche la CB "paysage" ou encore la CB "GIL"
Quand je coche la CB "paysage", la div de mon post XY s'affiche, mais également un autre post antérieur ayant la class "logement social".
J'espère que mon histoire est claire.. !


J'avais réussi cette affaire en me limitant à du html et du css, mais le problème c'était que les divs devait être soeur et donc mes CB restaient en haut de page et il fallait rescroller tout en haut pour changer les choix...
Alors en javascript, avec un ID ça marche d'enfer, seulement il ne peut y avoir qu'une div par id et qu'une id par div... Or j'ai besoin d'afficher plusieurs div, et que les divs répondent à différentes id, ou class du coup...
Et comme GetElementsbyClassName renvoi un tableau, je n'arrive pas à leur modifier le style.display
Alors j'ai approché un résultat avec ForEach()... Mais j'ai piqué ça sur un forum sans vraiment comprendre...
Ca commence à faire longtemps que je tente mais rien ne fonctionne vraiment!!!
Alors j'en appelle à la communauté! Pouvez-vous m'aider ?
Je pense que c'est très mal écrit mais je vous mets mon essai JS :
function FonctionAffchgTout() {
var cbTout = document.getElementById("cbTout");
var PostTout = document.querySelectorAll(".tout");
if (cbTout.checked === true){
PostTout.forEach(function(dsplTout) {
if (dsplTout.style.display === "none") {
dsplTout.style.display = "block";
} else {
dsplTout.style.display = "none";
}
}), false;
}
}
Je ne comprends pas le "false" à la fin, ça fait parti du bout de code que j'ai copié sans vraiment le comprendre, c'est sans doute pour arrêter la boucle ?
Enfin vous voyez, je galère...
Merci pour vos conseils

bonne soirée