Ho creato delle select dinamiche usando ajax per selezionare regione->provincia->comune cioè 3 select di cui le ultime due prendono il risultato precedente, credo di aver reso l'idea oramai ci sono su tutte le pagine di regitrazione piu o meno, cmq il problema e che dopo aver selezionato la regione non riesco a popolare la select delle provincie, vi posto il codice se potete dargli un occhiata per capire dov'è che sbaglio ve ne sarei grato



ora vi posto il controller :
codice:
<?php

class CAjax
{
  public function Seleziona() 
  
 {  
    $CRegistrazione=USingleton::getInstance('CRegistrazione');
    $VHome=USingleton::getInstance('VHome');
	$VAjax=USingleton::getInstance('VAjax');
     
	switch ($VAjax->GetRequest('task')) 
    {
     case: 'getRegioni':
	    {
	    
		return $this->GetRegioni();
	    }
	 
	 case: 'getProvincie':
	    {
	    $regione=$VAjax->GetRequest('regione'):
		return $this->GetProvincie();
	    }
     
	 default:
	   { 
        	$registrazione=$CRegistrazione->GetUtentLoggato();
            if($registrazione)
            return $VHome->SetPageLoggato();
            else
            return $VHome->SetPageNonLoggato();			

	    }
	}
 
 }


 public function  GetRegioni()
    { $FRegione=USingleton::getInstance('FRegione');
	  $VAjax=USingleton::getInstance('VAjax');
 
    $query="SELECT * FROM `regioni` ORDER BY _regione;";
	$FRegioni->Query($query);
	$risultati=$FRegione->GetResultArray();
	$VAjac->SetDati('regioni',$risultati);
	$VAjax->SetLayout('select');
	return $VAjax->UseTemplate();
	}
 
    public function GetProvincie($idregione)
	{ 
	  $FProvincia=USingleton::getInstance('FProvincia');
	  $VAjax=USingleton::getInstance('VAjax');
	  
	  $query='SELECT _sigla,_provincia FROM `province`  WHERE _idregione='.$idregione.' ORDER BY _provincia;';
	  $FProvincia->Query($query);
	  $risultati=$FProvincia->GetResultArray();
	  $VAjax->SetDati('array',$risultati);
	  $VAjax->SetLayout('select');
	  return $VAjax->UseTemplate();
    }
	
 public function GetComuni($siglaprovincia)
 {
 $FComune=USingleton::getInstance('FComune');
 $VAjax=USingleton::getInstance('VAjax');
 
 $query="SELECT _idcomune,_comune FROM `comuni`  WHERE `_provincia`='".$siglaprovincia."' ORDER BY _comune;";
 $FComune->Query($query);
 $risultati=$FComune->GetResultArray();
 $VAjax->SetDati('array',$risultati);
 $VAjax->SetLayout('select');
 return $VAjax->UseTemplate();
 }

 
 }
?>
questo sarebbe ajax_selected.tpl

codice:
{section name=i loop=$array}
<option value="{$array[i][0]}">{$array[i][1]}</option>
{/section}

ora vi posto la pagina del javascript:

codice:
function assegnaXMLHttpRequest() 
{

 var XHR=null;

 //nome del browser
 browserUtente=navigator.userAgent.toUpperCase();

        // browser standard con supporto nativo (non importa il tipo di browser)
  if (typeof(XMLHttpRequest)==="function" || typeof(XMLHttpRequest)==="object")
  {
   XHR=new XMLHttpRequest();
  }

  // browser Internet Explorer
  else if (window.ActiveXObject && browserUtente.indexOf("MSIE 4")<0) 
  {
            //versione 6
   if (browserUtente.indexOf("MSIE 5")<0)
   {
    XHR=new ActiveXObject("Msxml2.XMLHTTP");
   }
            //versioni 5 e 5.5
   else
   {
    XHR=new ActiveXObject("Microsoft.XMLHTTP");
   }
  }
    
 return XHR;
}

function getProvince()
{
 var idregione=document.getElementById('regione').value;
 var param='index.php?controller=ajax&task=getProvince&regione='+idregione;
 //creazione della richiesta di tipo XHR
    var richiesta=assegnaXMLHttpRequest();
 //formulazione della richiesta
 richiesta.open('GET', param, true);
 //invio della richiesta
 richiesta.send();
 //gestione della richiesta e della risposta
    if (richiesta) 
 {
  richiesta.onreadystatechange=function() 
  {
   // verifica dello stato della richiesta
   if (richiesta.readyState===4) 
   {
    // verifica della risposta da parte del server
    if(richiesta.statusText==="OK")
    {
     //document.getElementById('provincia').innerHTML=richiesta.responseText;
     var risposta=richiesta.responseText;
     alert(risposta);
     var select=document.registrazione.provincia;
     addOption (select,chiave,valore);
     // qui ci vorrebbe un ciclo che le inserisse nelle select, ma come fare???
     if (risposta)  
     { 
      
       
      
      var values=risposta.split(' '); 
      while (select.options.length) 
      { 
       select.remove(0);
      }
      
     } 
                         
    }
   }
  }
 }
}

function addOption (select,chiave,valore) 
{ 
 var option=document.createElement('option'); 
 option.value=chiave; 
 option.text=valore; 
 try 
 { 
  select.add(option,null); 
 } 
 catch(e) 
 { 
  //per Internet Explorer 
  select.add(option); 
 }
}


se avete bisogno di ulteriori dettagli fatemi sapere, grazie!