Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1352 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [résolu]Comment attraper tous les noeud d'un même type dans un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu]Comment attraper tous les noeud d'un même type dans un tableau

n°1535780
pierre419
Posté le 29-03-2007 à 13:46:47  profilanswer
 

Bonjour,
 
J'essaye d'agir sur des checkbox placé dans un tableau html comme ceci :
 
html :
 

Code :
  1. <table id="tableau">
  2. <tr><td>code</td><td>libelle</td></tr>
  3. <tr><td><input type="checkbox" ....></td><td>Rouge</td></tr>
  4. <tr><td><input type="checkbox" ....></td><td>Jaune</td></tr>
  5. <tr><td><input type="checkbox" ....></td><td>Vert</td></tr>
  6. </table>


 
Mon script  
 

Code :
  1. function GereChkbox( a_faire) {
  2. var blnEtat=null;
  3. var Chckbox = document.getElementById("tableau" ).getElementsByTagName('tr')[0].getElementsByTagName('td')[0].getElementsByTagName('*');
  4. while (Chckbox!=null)
  5. { alert(Chckbox.nodeName);
  6.  if (Chckbox.nodeName=="input" )
  7.   if (Chckbox.getAttribute("type" )=="checkbox" )
  8.   {
  9.    blnEtat = (a_faire=='0') ?
  10.    false : (a_faire=='1') ?
  11.    true : (document.getElementById(Chckbox.getAttribute("id" )).checked) ?
  12.     false : true;
  13.    document.getElementById(Chckbox.getAttribute("id" )).checked=blnEtat;
  14.   }
  15.  Chckbox = Chckbox.nextSibling;
  16. }
  17. }


 
Mais je n'arrive qu'à lite le 1er TD du 1er TR alors que je voudrais lire tous les td.
 
Une idée sur ce genre de problème ?
 
Merci d'avance


Message édité par pierre419 le 29-03-2007 à 22:09:13
mood
Publicité
Posté le 29-03-2007 à 13:46:47  profilanswer
 

n°1535782
FlorentG
Posté le 29-03-2007 à 13:53:49  profilanswer
 

Ca me paraît logique que tu n'arrives qu'à lire le premier td, vu que tu ne sélectionne que le premier td au lieu d'itérer...

n°1535787
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-03-2007 à 14:02:25  profilanswer
 

Code :
  1. var Chckbox = document.getElementById("tableau" ).getElementsByTagName('input');

 
:o

n°1536051
pierre419
Posté le 29-03-2007 à 19:21:18  profilanswer
 

anapajari a écrit :

Code :
  1. var Chckbox = document.getElementById("tableau" ).getElementsByTagName('input');

 
:o


 
Merci, mais je ne passe pas la ligne
 

Code :
  1. if (Chckbox.nodeName=="input" )

n°1536104
pierre419
Posté le 29-03-2007 à 22:08:36  profilanswer
 

La soluce c'est ça
 

Code :
  1. function GereChkbox(conteneur, a_faire)
  2. {
  3. var blnEtat=null;
  4. var Chckbox = document.getElementById(conteneur).getElementsByTagName('input');
  5. for (i in Chckbox)
  6. {
  7.  if (Chckbox[i].nodeName=="INPUT" )
  8.  if (Chckbox[i].getAttribute("type" )=="checkbox" ) {
  9.   blnEtat = (a_faire=='0') ? false : (a_faire=='1') ? true : (document.getElementById(Chckbox[i].getAttribute("id" )).checked) ? false : true;
  10.   document.getElementById(Chckbox[i].getAttribute("id" )).checked=blnEtat;
  11.  }
  12. }
  13. }


 
Merci à vous

n°1536196
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-03-2007 à 08:41:52  profilanswer
 

waouhhh peux tu m'expliquer l'interêt de la ligne suivante:

Code :
  1. document.getElementById(Chckbox[i].getAttribute("id" )).checked


Pourquoi ne pas écrire directement:

Code :
  1. Chckbox[i].checked


 
Par ailleurs je te deconseille d'utiliser la syntaxe for ( i in ...) quand tu sais pas très bien ce que tu manipules ( tu peux te retrouver avec les methodes d'un objet itérés avec cette méthode) et de lui préférer "for(var i=0; i<tableau.lenght; i++)"


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [résolu]Comment attraper tous les noeud d'un même type dans un tableau

 

Sujets relatifs
VBA - WebBrowser et Gif Animé - RésoluTout les sous matrice possible d'une matrice [Résolu]
foreach pour un tableauafficher une image BMP a partir d'un tableau de pixels
[Résolu] Pb modification structure table pr rajouter auto-increment[résolu] getHeight() me renvoie toujours 0 !
[RESOLU] Pilote ISAM est introuvable + Connexion Jet sur ExcelDégradé dans un tableau...
[RESOLU] logiciels gratuits pour création site web[c] assignment from incompatible pointer type
Plus de sujets relatifs à : [résolu]Comment attraper tous les noeud d'un même type dans un tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR