26 agosto 2008

Seleziona/Deseleziona tutti i checkbox di un menù

Metti di avere il seguente HTML:



Nota che il checkbox che sta in cima ha una proprietà chiamata onclick. Quello è l'evento, sostanzialmente dice "quando clicchi su questo input attiva quella funzione Javascript". Ci sono altri eventi, che sono altrettanto utili, ma al fine della discussione ti serve questo.

Ora andiamo a creare la funzione checkUncheck:

codice javascript:

function checkUncheck(check)
{
var checks = document.getElementsByName('cbSelez');
for(i = 0; i < checked =" check.checked;">
Questa funzione prende in ingresso come parametro un Element, ovvero un oggetto che rappresenta un TAG della pagina.

La funzione in questo caso otterrà l'elemento chiamante, ovvero il checkbox su cui andiamo a cliccare.

La prima cosa che fa è utilizzare una funzione dell'elemento document, che rappresenta tutta la pagina HTML, chiamata getElementsByName, che ritorna un Array (collezione di oggetti) contenente tutti gli Elementi che hanno name = al paramentro passato (in questo caso il nome dei checkbox).

Sull'array, faccio un ciclo for (una iterazione, c'è anche in asp), e, per ogni elemento dell'array setto la proprietà checked (proprietà dei checkbox che indica se sono selezionati) al valore che il checkbox che vado a cliccare assume.

Ciao