Comparaison d'éléments

nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009 - 16 nov. 2006 à 18:45
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009 - 17 nov. 2006 à 10:52
Bonjour a tous,

j'ai un datagrid ou j'ai deux colonnes de checkbox!
sur les entetes des colonnes, j'ai aussi une chk qui "permet" de sélectionner ou de déselectionner toutes celles de la colonnes!
je passe par un script en JS!!

voila le code :

function select_deselectAll (chkVal, idVal) {
var frm = document.forms[0];
var j = 1; var nom;
for (i=0;i<frm.length;i++)
   {
      if (idVal=="dg__ctl1_chkTitreValider") 
      { nom="dg__ctl"+j+"_chkValider"; } 
      else { nom="dg__ctl"+j+"_chkSupprimer"; }
      var maChk = document.getElementById(nom); 
      if (frm.elements[i]==maChk) 
      { 
         maChk.Checked = chkVal; 
         j++; 
      }
   }
}

voila mon raisonnement :
- sur chaque chk d'entete, j'envoi le nom de la colonne
- je parcours tout les elements du formulaire
- et je regarde si l'élément est dans la colonne ou pas

explication :
---------------------------
  chkTitre1  |  chkTitre2
---------------------------
chkvalider1 | chkSuprimer1
chkvalider2 | chkSuprimer2
chkvalider3 | chkSuprimer3
---------------------------
<frm.length;i++) }<!--endfragment--="" }="" j++;="" machk.checked="chkVal;" {="" if(frm.elements[i]="=maChk)" machk="document.getElementById(nom);" var="" +j+?_chksupprimer?;="" nom="dg__ctl" else="" +j+?_chkvalider?;="" if(idval="="dg__ctl1_chkTitreValider")">

<<--<<--nOUnoURs-->>-->></frm.length;i++)>

3 réponses

nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009
16 nov. 2006 à 18:54
heu, j'ai oublié de dire que j'ai une erreur a la ligne :
if (frm.elements[i]==maChk) 

Merci d'avance
Enjoy @+
<<--<<--nOUnoURs-->>-->>
0
nickadele Messages postés 1251 Date d'inscription mercredi 7 août 2002 Statut Modérateur Dernière intervention 10 avril 2013
16 nov. 2006 à 20:21
Bonjour,

chkvalider1 | chkSuprimer1

for (i=0;i<frm.length;i++)
   {
      if (idVal=="dg__ctl1_chkTitreValider") 
      { nom="dg__ctl"+j+"_chkValider"; }
 1. en admettant que i = 0 >> y a t il un chkvalider0 | chkSuprimer0 ???
 2. en admettant que i = 0 >> nom="dg__ctl"+j+"_chkValider"; >> nom ="dg__ct0_chkValider"; >> c'est différent de chkvalider0

Donc dans les 2 cas var maChk = document.getElementById(nom);  donnera undefined

Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
0
nounours21_6 Messages postés 255 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 21 avril 2009
17 nov. 2006 à 10:52
Salut, en faite excuse moi mais j'ai mal fais la démo je la refais :

------------------------------------------------------------
  dg__ctl1_chkTitreValider  |  dg__ctl1_chkTitreSupprimer
------------------------------------------------------------
        dg__ct1_chkValider    |     dg__ct1_chkSupprimer
        dg__ct2_chkValider    |     dg__ct2_chkSupprimer
        dg__ct3_chkValider    |     dg__ct3_chkSupprimer
------------------------------------------------------------

et en faite, il y a deux variable i et j
j'incrémente j quand il y a une égalité!!
mais en faite, je suis passé par un systeme, j'ai mi une DropDownList

merci de te réponse
Enjoy @+
<<--<<--nOUnoURs-->>-->>
0
Rejoignez-nous