echo $this->Form->input('country_id',array(
'id' => 'country_id',
'empty' =>''));
echo $this->Form->input('city_id',array(
'id' => 'city_id',
'empty' =>''));
<?php
//AJAX for Dynamic Drop down
$this->Js->get('#country_id')->event('change',
$this->Js->request(array(
'controller'=>'countries',
'action' =>'get_by_country',
), array(
'update' =>'#city_id',
'async' => true,
'method' => 'Post',
'dataExpression'=>true,
'data'=> $this->Js->serializeForm(array(
'isForm' => true,
'inline' => true
))
))
);
// END AJAX
?>
public function get_by_country($id=null) {
$country_id = $this->request->data['Country']['country_id'];
$this->loadModel("City");
$subcategories = $this->City->find('list', array(
'conditions' => array('City.country_id' => $country_id),
'fields' => 'description',
'recursive' => -1
));
$this->set('cities',$subcategories);
$this->layout = 'ajax';
}
<option><?php ?></option> <?php foreach ($cities as $key => $value): ?> <option value="<?php echo $key; ?>"><?php echo $value; ?></option> <?php endforeach; ?>
Labels: CakePHP 2.x, Scripts, Tutorial