Se usi una libreria Javascript con funzioni DOM è molto più semplice, ma possiamo fare senza.

allora, ti serve il primo numero che viene messo come parametro dell'add() (6 in quello citato).

Crea una funzione di questo tipo:
Codice PHP:

function setValueInputForChildren(elemchecked)
{
   if(
elem.type && elem.type.toUpperCase() == 'CHECKBOX')
   {
       
elem.checked checked;
   }
   if(
elem.childNodes)
   {
      var 
children elem.childNodes;
      for(
0children.lengthi++)
      {
          
setValueInputForChildren(children[i], checked);
      }
   }
}

function 
checkUnchekAll(inputindex)
{
   var 
check input.checked;
   var 
clip document.getElementById('da'+index);
   if(
clip.getElementsByTagName){
      var 
elems clip.getElementsByTagName('input');
      foreach(
i in elems)
      {
         
i.checked check;
      }
   }
   else
   {
      
setValueInputForChildren(clipcheck);
   }

Dopo di che inserisci questa funzione come onclick del checkbox con i paramentri checkUnchekAll(this, n) dove n è il numero che hai inserito con add()
(ad esempio
d.add(2,1, 'TESTA<input name="id[]" onclick="checkUnchekAll(this, 2)" type="checkbox" value="2" />'); )

Dovrebbe andare