Searching


(Mrkoeh) #1

gan,

saya mau tanya. .

saya punya pencarian admin.php seperti ini,




<?php

$kat=array(

    array('id'=>1,'kategori'=>'Tanggal'),

    array('id'=>2,'kategori'=>'Nama Dokter'),

);


echo 'Tampil Berdasar :  ';

echo CHtml::dropDownList('jkel',array(),

        CHtml::listData($kat, 'id', 'kategori'),

        array('empty'=>'Pilih Kategori','style'=>'width:165px','ajax' => array(

           'type'=>'POST',

           'dataType'=>'json',

           'url'=>CController::createUrl('/parameter/nama'),

           'data' => "js:{kat:$(this).val()}",

           'success'=>'function(data){

              $("#parameter-grid").html(data.isi);

       }',)

       )

).'<br/>';

?>



controller





public function actionNama()

    {

        $isi='';

        if($_POST['kat']==1)

        {

            $isi.='Berdasar Tanggal';

        }

        elseif($_POST['kat']==2) {

            $isi.='Berdasar Nama';

        }else{

			$isi.= '';

		}


        echo CJSON::encode(array

        (

             'isi'=>$isi,

        ));

          Yii::app()->end();

    }



lha penginnya itu yg ditampilkan adalah cgridview yang berbeda. .

apakah ad solusi?/

terimakaih. …


(Reinld17) #2

Kalau agan ingin hasil pencarian ditampilkan di CGridView yang berbeda, ya tambahkan saja 1 CGridView lagi bukan? Nanti setelah Ajax request, CGridView tersebut tinggal ditampilkan. Mungkin kodenya kurang lebih seperti ini (ane belum tes):




// id dari CGridView baru: 'parameter-grid2'

echo CHtml::dropDownList('jkel',array(),

   CHtml::listData($kat, 'id', 'kategori'),

   array('empty'=>'Pilih Kategori','style'=>'width:165px','ajax' => array(

      'type'=>'POST',

      'dataType'=>'json',

      'url'=>CController::createUrl('/parameter/nama'),

      'data' => "js:{kat:$(this).val()}",

      'success'=>'function(data){

         $("#parameter-grid2").html(data.isi);

         $("#parameter-grid2").show();

      }',)

  )

).'<br/>';



Waktu inisialisasi halaman, mungkin CGridView-nya perlu disembunyikan terlebih dahulu:




Yii::app()->clientScript->registerScript('hide', "

$('#parameter-grid2).hide();

");