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');
}
}
|
Ну примерно так, это конечно каркас, остальное можно доцепить... |