// FUNZIONE che intercetta tutte le tabelle con la classe 'tblRuler' applicando su queste, per ogni riga, l'effetto zebra, rollover e selezione // INPUT: 1) (str) row1 --> classe da applicare alle righe dispari della tabella // 2) (str) row2 --> classe da applicare alle righe pari della tabella // 3) (str) row2 --> classe da applicare alle righe al passaggio del mouse sopra di esse // 4) (str) rowClick --> classe da applicare alle righe all'evento click del mouse sopra di esse // 5) (str) chkBx --> nome (name) dell'eventuale array di checkbox da selezionare all'evento click del mouse sopra le righe della tabella // // OUTPUT: nessuno function tableRuler(row1,row2,rowOver,rowClick,chkBx){ function swp(r,cls){ addClassName(r,cls); addEvent(r,'mouseover',function(){replaceClassName(this,cls,rowOver,true)}); addEvent(r,'mouseout',function(){replaceClassName(this,rowOver,cls,true)}); if(rowClick) addEvent(r,'click', function(){ var c1,c2,ck; if(hasClassName(this,rowOver)){ c1=rowOver;c2=rowClick;ck=true }else{ c1=rowClick;c2=rowOver;ck=false } if(chkBx)$ATTRIBUTE('name',chkBx,'input',r)[0].checked=ck; replaceClassName(this,c1,c2,true) } ) } // Cerco tutte le tabelle che hanno la classe "tblRuler" $CLASS('tblRuler','table').forEach(function(t){ var i=0; // A tutte le righe all'interno del tag "tbody" di ogni tabella, applico la funzione swp() $A($TAG('tr',$TAG('tbody',t)[0])).forEach(function(r){ swp(r,i%2?row2:row1); i++ }) }) } // FUNZIONE che restituisce un array contenente i riferimenti alle righe selezionate di una tabella // INPUT: 1) (var) idTbl --> riferimento alla tabella da considerare // 2) (str) clsSel --> nome della classe da riscontrare per determinare le righe selezionate // // OUTPUT: (arr) array contenente i riferimenti alle righe selezionate della tabella function getSelTableRow(idTbl,clsSel){return $CLASS(clsSel,'tr',idTbl)}var row1='row_1',row2='row_2',rowOver='row_over',rowClick='',chkBx=''; onDomLoad(function(){tableRuler(row1,row2,rowOver,rowClick,chkBx)});