Un altro modo sarebbe quello di mantenere la parte in php come l'avevi fatta tu, aggiungendo solo l'attributo onclick='controllaCheckbox()' ai vari checkbox, e quindi creare del codice javascript simile a questo:
<script language="javascript" type="text/javascript">
<!--
var elenco_input = new Array();
var elenco_checkbox = new Array();
var elenco_selezionati = new Array();
var s = 0;
elenco_input = document.getElementsByTagName("input");
for (i=0; i<elenco_input.length; i++) {
if (elenco_input[i].getAttribute("type") == "checkbox") {
elenco_checkbox[s] = elenco_input[i];
s++;
}
}
function controllaCheckbox() {
elenco_selezionati = Array(); //azzero l'elenco di quelli selezionati
var p=0;
for (i=0; i<elenco_checkbox.length; i++) {
if (elenco_checkbox[i].checked == "true") {
elenco_selezionati[p] = elenco_checkbox[i];
p++;
}
}
}
-->
</script>
La differenza è che ora nel vettore "elenco_selezionati" non hai semplicemente gli id dei checkbox, ma i checkbox stessi, con le rispettive proprietà ed attributi vari. Perciò se a te serve solo l'elenco degli id, dovrai usare un ciclo for, o qualcosa di simile, e recuperare l'attributo "id":
for (i=0; i<elenco_selezionati.length; i++) {
elenco_selezionati[i] = elenco_selezionati[i].getAttribute("id");
}
Questo metodo ti creerà qualche problema nel caso tu abbia altri checkbox sparsi nella pagina...
Dovresti andare a controllare quali checkbox hanno un parentNode che coincide proprio con la tua tabella...