Posted in Yii
<td style="width:240px;"><?php $list = CHtml::listData(MasterPropinsi::model()->findAll(array('order' => 'id_prop')), 'id_prop', 'nama_propinsi'); echo $form->dropDownList($model, 'id_prop', $list, array( 'empty' => '- Pilih Propinsi -', 'ajax' => array( 'type' => 'POST', 'url' => CController::createUrl('dynamickabkota'), 'update' => '#' . CHtml::activeId($model, 'id_kab_kota'), ), 'style'=>'margin-top:10px;float:right;margin-left:8px;margin-right:8px;' )); ?> </td>Source untuk bagian Controller:
public function actionDynamicKabKota() { $data = MasterKabKota::model()->findAll('id_prop=:id_prop', array(':id_prop' => $_POST['ModeldiForm']['id_prop'])); $data = CHtml::listData($data, 'id_kab_kota', 'nama_kab_kota'); foreach ($data as $value => $name) { echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); } }Source code untuk bagian view pada dropdown kabupaten/kota:
<tr> <td style="width:40px;text-align:center;">2.</td> <td><?php echo $form->labelEx($model,'id_kab_kota'); ?><?php echo $form->error($model,'id_kab_kota', array('style'=>'margin-top:10px;float:right;margin-left:8px;margin-right:8px;')); ?></td> <td> <?php echo $form->dropDownList($model, 'id_kab_kota', array(), array('empty' => '- Pilih Kabupaten/Kota -', 'style'=>'margin-top:10px;float:right;margin-left:8px;margin-right:8px;')); ?> </td> </tr>Untuk database,, ada dua tabel yaitu master_propinsi (id_prop, nama_prop), dan master_kab_kota (id_kab_kota, id_prop, nama_kab_kota). Bagian model default aja digenerate dari generator Gii. Sekian tutorial (atau catatan) tentang membuat dependent dropdown di Yii. Semoga bermanfaat.