2016-07-20 7 views
0

Hallo Ich habe Dropdown-Liste abhängig Textfeld. Der Wert des Textfelds sollte über eine Ajax-Anfrage aktualisiert werden, wenn die Dropdown-Liste ausgewählt ist (ich benutze Yi's CHTML-Textfeld). Hier ist mein Code:php - ajax Update Textfeld nach Dropdown-Liste ausgewählt ist nicht funktioniert (yii)

Ansicht _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> 

Und Controller 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(); 
    } 

Der Code zeigte keine Fehler, aber das Textfeld wurde nicht aktualisiert. Bitte hilf mir. Hier ist das Ergebnis, wenn ich versuchte, das Seitenelement zu inspizieren:

enter image description here

+0

Hat die Ajax-Request ausgelöst ??? wenn ja, bekommst du die benötigte ausgabe. Überprüfen Sie mit Ihrer Anfrage und antworten Sie zurück –

+0

Hallo vielen Dank für Ihren Kommentar. Ich habe das Problem gelöst – geeqy

Antwort

0

ich das Problem gelöst haben.

änderte ich

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

zu:

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