Newsgroup: it.comp.lang.javascript
Titolo: conteggio e colore checkbox

Ho giŕ postato poco fa per effettuare il conteggio delle checkbox, tutto
funziona alla perfezione, grazie mille.
Ora perň mi trovo un altro scoglio:
- ho 10 celle per riga in ognuna delle quali c'č una checkbox
- alla fine c'č un'altra cella che ha la sola funzione di darmi il numero di
celle selezionate tramite il seguente script:
*****
function conteggio( sender ){
var obj=document.getElementById('cc').firstChild;
obj.nodeValue=parseInt(obj.nodeValue,10)+(sender.checked?1:-1);
}
*****
- devo far si che se il conteggio č uguale ad un valore integer (che passo
via php) lo sfondo della tabella sia verde altrimenti rosso
- avendo una serie di righe per ognuna delle quali devo effettuare questo
controllo, ho pensato di dare un nome diverso ad ogni funzione relativa ad
ogni riga:
le 10 checkbox della riga 1 comandano la funzione: function conteggio1()
le 10 checkbox della riga 2 comandano la funzione: function conteggio2()
ecc...
Per automatizzare questo processo avevo passato questa variabile via php con
un ciclo while:
function conteggio".$i."()
Non funziona perň... sapete come mai?
Grazie,
Ken

 via php) lo sfondo della tabella sia verde altrimenti rosso
Questo integer (immagino preso da un db o simile, indicherà il numero di
risposte corrette) devi innanzitutto passarlo al client.
Non conosco php, ma immagino sarà un qualcosa del tipo
<script type="text/javascript">
 totale=<?echo $1?>;
</script>
Dopodichè basta aggiungere una riga alla tua function, del tipo
obj.style.backgroundColor=(parseInt(obj.nodeValue,10)==totale?"green":"red");
-- 
"qualcuno è andato per età
 qualcuno perchè già dottore
 e insegue una maturità, si è sposato, fa carriera
 ed è una morte un po' peggiore"
									    F.G.

 Non funziona però... sapete come mai?
"Non funziona" non vuol dire niente... esattamente, che risultato ti da? Il
codice generato da PHP sul client qual'è? 
Cmq, di un approccio del genere difficilmente ne avrai mai bisogno.
-- 
~ "FINARMENTE LI SFRATTATI AVRANNO UN TETTO SULLA TESTA!
...però tirato ammodino, un tegolo pe' vorta.." (Il vernacoliere)

Ok, ho smanettato un pò e sono riuscito ad ottenere un funzionamento
parziale con il seguente codice:
function colore( sender ){
    var obj=document.getElementById('xx').firstChild;
    obj.nodeValue=parseInt(obj.nodeValue,10)+(sender.checked?1:-1);
    if (obj.nodeValue == ".$rip[$i]."){
        cella=document.getElementById('xx');
        cella.style.background='green';
    }else{
         cella=document.getElementById('xx');
         cella.style.background='red';
    }
}
In questo modo riesco a ricevere le informazioni riguardo le checkbox
selezionate e riesco a cambiare il colore di sfondo della cella quando l'IF
è verificato.
Ho riscontrato un problema (che avevo parzialmente individuato e segnalato
nel primo post) relativo al passaggio dela variabile integer via php (nel
codice è ".$rip[$i].")
Praticamente ho inserito prima dell'IF questo codice:
pippo = ".$rip[$i].";
alert(pippo);
Ed ho scoperto che:
in php: ".$rip[$i]." è uguale a 2
in html (guardando il codice della pagina): pippo = 2;
fin quì tutto bene... ma il messaggio "alert" però mi dice sempre e solo
1!!! Dov'è l'errore?
Ciao e grazie,
Ken

 1!!! Dov'è l'errore?
Non è chiaro quel che dici; in ogni caso se il valore scritto nella pagina
è due anche l'alert deve risponderti due. Probabilmente sbagli qualcosa che
non è tra le cose che hai riferito.
