php - ajax更新文本字段后选择下拉列表不起作用(yii)

时间:2016-07-20 14:25:50

标签: php ajax yii

您好我有dropdownlist依赖文本字段。当选择下拉列表时,我应该通过ajax请求更新文本字段的值(我正在使用Yii的CHTML文本字段)。 这是我的代码:

查看_form.php

    <div class="row">
    <?php echo $form->labelEx($model,'kode_rincian'); ?>
    <?php
    echo $form->dropDownList($model, 'kode_rincian', array(), array(
        'empty'=>'--Pilih--',
            'ajax' => array(
                        'type'=>'POST',
                        'url'=>CController::createUrl('OPS/calculateRealisasi'),
                        //'update'=>'#OPS_contrealisasi',
                        'dataType'=>'json',
                        'data'=>array(
                            'kode_program' => 'js:$(\'#OPS_kode_program option:selected\').val()',
                            'kode_kegiatan' => 'js:$(\'#OPS_kode_kegiatan option:selected\').val()',
                            'kode_output' => 'js:$(\'#OPS_kode_output option:selected\').val()',
                            'kode_komponen' => 'js:$(\'#OPS_kode_komponen option:selected\').val()',
                            'kode_akun' => 'js:$(\'#OPS_kode_akun option:selected\').val()',
                            'kode_rincian'=>'js:this.value',
                        ),
                        'success'=>"function(data)
                            {
                                    $('#OPS_realisasi_at').html(data.sumrealisasi);
                                    $('#OPS_sisa_at').html(data.sumsisa);
                            } ",
        )           
        ));
    ?>
    <?php echo $form->error($model,'kode_rincian'); ?>
</div>
<div class="row">
    <?php echo $form->labelEx($model,'realisasi_at'); ?>
    <?php 
    echo $form->textField($model,'realisasi_at');
    ?>
    <?php echo $form->error($model,'realisasi_at'); ?>
</div class="row">
    <?php echo $form->labelEx($model,'sisa_at'); ?>
    <?php echo $form->textField($model,'sisa_at'); ?>
    <?php echo $form->error($model,'sisa_at'); ?>
</div>

和控制器OPSController.php:

public function actionCalculateRealisasi(){
        $kode_rincian = $_POST["kode_rincian"];
        $kode_program = $_POST["kode_program"];
        $kode_kegiatan = $_POST["kode_kegiatan"];
        $kode_komponen = $_POST["kode_komponen"];
        $kode_akun = $_POST["kode_akun"];
        $kode_output = $_POST["kode_output"];
        $modelkode= KodePOK::model()->findByAttributes(array(
            'kode_program'=>$kode_program,
            'kode_komponen'=>$kode_komponen,
            'kode_kegiatan'=>$kode_kegiatan,
            'kode_akun'=>$kode_akun,
            'kode_output'=>$kode_output, 
            'kode_rincian'=>$kode_rincian,
        ));
        if($modelkode!=NULL){
            $idpok=$modelkode->id_pok;
        }
        else{
            $idpok=0;
        }

        $criteria = new CDbCriteria;
        $criteria->select='SUM(jumlah_pengajuan) as realisasi';
        $criteria->condition="id_pok='".$idpok."'";
        $sum = OPS::model()->find($criteria);
        $sumrealisasi=$sum->realisasi;
        $sumrealisasi=(int)$sumrealisasi;
        $calcsisa=POK::model()->findByPk($idpok);
        $getjumlah=$calcsisa->jumlah_pagu;
        $sumsisa=$getjumlah-$sumrealisasi;

          echo CJSON::encode(array(
                'sumrealisasi'=>$sumrealisasi,
                'sumsisa'=>$sumsisa,
               ));
        Yii::app()->end();
    }

代码未显示任何错误,但文本字段未更新。请帮我。这是我尝试检查页面元素时的结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

我改变了

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

detailTextLabel?.text = "Bob"

}

到:

'success'=>"function(data)
{                                    $('#OPS_realisasi_at').html(data.sumrealisasi);
$('#OPS_sisa_at').html(data.sumsisa);
} ",