2016-07-20 15 views
0

こんにちは私はドロップダウンリストに依存するテキストフィールドを持っています。ドロップダウンリストが選択されたときに、ajaxリクエストを介してテキストフィールドの値を更新する必要があります(私はYiiのCHTMLテキストフィールドを使用しています)。ドロップダウンリストを選択した後、php - ajaxの更新テキストフィールドが機能しない(yii)

ビュー_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

+0

AJAXリクエストが起動しました?もしそうなら、必要な出力が得られます。あなたのご要望にお答えし、 –

+0

お返事ありがとうございます。ご意見ありがとうございます。私は問題を解決した – geeqy

答えて

0

:ここで私はページ要素を検査しようとした結果です。

私はに

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

を変更:

'success'=>"function(data) 
{         $('#OPS_realisasi_at').val(data.sumrealisasi); 
$('#OPS_sisa_at').val(data.sumsisa); 
} ", 
関連する問題