mercredi 1 juillet 2015

Cannot update textfield based on dropdown list Yii

I have 3 dependent dropdowns, and a textfield being dependent to the last dropdown. If one of the value in the last dropdown, I want the textfield value dynamically changes based on the selected value (it's from the same Database table).

This is the view of the third dropdown:

 <div class="row" id="id_subkeg">
       <?php echo $form->labelEx($model, 'id_subkeg'); ?>                    
       <?php
            echo $form->dropDownList($model, 'id_subkeg', array(), array(
                'style' => 'width: 100%',
                    'ajax' => array(
                        'type' => 'POST',
                        'url' => CController::createUrl('dynamicSatuan'),
                        'update' => '#' . CHtml::activeId($model, 'satuan'),
                        //'update'=>'#seksi',
                        'data' => array('id_subkeg' => 'js:this.value'),
                    )
                )
            );
       ?>
       <?php echo $form->error($model, 'id_subkeg'); ?>                       
</div>

This is the textfield view:

<div class="row" id="satuan">
      <?php echo $form->labelEx($model, 'satuan'); ?>
      <p class="hint" style="font-size: 80%">Contoh: Dokumen.</p>
      <?php echo $form->textField($model, 'satuan', array('style' => 'width: 98%;', 'readonly' => FALSE)); ?>
      <?php echo $form->error($model, 'satuan'); ?>
</div>

And this is the action in the controller:

public function actionDynamicSatuan() {
        //$data = Subkegiatan::model()->findByPk($_POST['id_subkeg']);        
        $data = Subkegiatan::model()->findByPk('id_subkeg=:id_subkeg', array(':id_subkeg' => (int) $_POST['id_subkeg']));        
        echo $data->satuan;
    }

But it's not been working for days. I don't know which part I've missed. My guess is that the dropdown is a dependent dropdown to the one above it. So I must have missed at some part.

Any help is highly appreciated.

Aucun commentaire:

Enregistrer un commentaire