country_list.ctp, $country_list массив стран, $selected_country и так думаю ясно =)
 
 	  | Код: | 	 		  <?php 
 
   echo $form->input(
 
      'country_id',
 
      array(
 
         'name'      =>   'data[country_id]',   
 
         'options'   =>   $country_list,
 
         'type'      =>   'select',
 
         'selected'   =>   $selected_country,
 
         'label'      =>   'Country'
 
         ));
 
?> | 	  
 
 
city_list.ctp, $city_list массив городов, $selected_city та же ситуация.
 
 	  | Код: | 	 		  
 
<?php
 
   echo $form->input(
 
      'city_id',
 
       array(
 
          'name'      =>   'data[city_id]',
 
          'options'   =>   $city_list,
 
          'type'      =>   'select',
 
          'selected'   =>   $selected_city,
 
          'label'      =>   'City',
 
       ));
 
?>
 
 | 	  
 
 
anyfile.ctp 
 
 	  | Код: | 	 		  
 
e($this->renderElement('country_list'));
 
e($html->tag('div',$this->renderElement('city_list'),array('id' => 'city_ilst')));
 
 
echo $ajax->observeField('UserCountryId', 
 
                        array(
 
                           'url' => 'controller/city_upd',
 
                           'frequency'   =>   0.2,
 
                           'update'   =>   'city_lst'
 
                        ) 
 
                     ); 
 
 | 	  
 
 
controller.php
 
 	  | Код: | 	 		  
 
   function city_upd(){
 
      if (!empty($this->data['country_id'])){
 
                   $city_list = $this->City->find('list', array(
 
                                        'conditions' => array(
 
                                            'City.country_id' =>$this->data['country_id']),
 
));;               
 
                        $this->set('city_list',$city_list);      
 
         }
 
         Configure::write('debug', 0);
 
         $this->render('/elements/city_list','ajax');          
 
      }
 
   }
 
 | 	  
 
 
Ну примерно так, это конечно каркас, остальное можно доцепить... |