public function actionGetChilds() { $pid = 0; for ($i = 2; $i >= 0; $i--) { if (isset($_POST['type_id_lvl' . $i])) { if ($pid = (int) $_POST['type_id_lvl' . $i]) { break; } } } $data = XataType::model()->findAll('parent=:parent_id', array(':parent_id' => $pid)); $data = CHtml::listData($data, 'id', 'caption'); foreach ($data as $value => $name) { echo CHtml::tag('option', array('value' => $value), CHtml::encode($name), true); } }
<?php $form = $this->beginWidget('CActiveForm', array('id' => 'xata-form', 'enableAjaxValidation' => false)); ?> <?php echo $form->errorSummary($model); ?> <div class="row"> <?php echo CHtml::label(Yii::t('xata', 'Type'), '#type_id_lvl0'); ?> <?php echo CHtml::dropDownList('type_id_lvl0', '', CHtml::listData(XataType::model()->findAll('parent is NULL'), 'id', 'caption'), array('style' => 'width:150px', 'value' => 1, 'empty' => Yii::t('xata', 'Chose one...'), 'ajax' => array('type' => 'POST', 'url' => CController::createUrl('xataType/getchilds'), 'update' => '#type_id_lvl1'))); ?> <?php echo CHtml::dropDownList('type_id_lvl1', '', CHtml::listData(array(), 'id', 'caption'), array('style' => 'width:170px', 'empty' => Yii::t('xata', 'More exactly...'), 'ajax' => array('type' => 'POST', 'url' => CController::createUrl('xataType/getchilds'), 'update' => '#type_id_lvl2'))); ?> <?php echo CHtml::dropDownList('type_id_lvl2', '', CHtml::listData(array(), 'id', 'caption'), array('style' => 'width:170px', 'empty' => Yii::t('xata', 'More exactly...'))); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'cost'); ?> <?php