Oleh karena itu kita dapat menggunakan salah satu cara dengan menggunakan modifikasi dari skrip kita sendiri.. Contoh yang ane implementasikan dapat dilihat sebagai berikut : (view)
<?php echo CHtml::checkBox("load_ajax",false,array('id'=>'load_risk_all'));echo "Load All Risk Child";
$url=CController::createUrl('project/vieweach',array('project_id'=>$model->project_id));
Yii::app()->clientScript->registerScript("check",
'$("#load_risk_all").change(function(){
if($(this).is(":checked")){
$("#load_risk").load("'.$url.'");
$("#load_risk").fadeIn();
}else{
$("#load_risk").html("");
}
})
',
CClientScript::POS_READY);
?>
<div id="load_risk">
</div>
Dan pastikan bahwa pada waktu memanggil url yang kita inginkan tersebut kita menggunakan fungsi renderPartial agar html yang kita inginkan sesuai. Kita juga dapat mengganti fungsi load() dengan menggunakan fungsi jquery $.ajax apabila kita ingin mengirimkannya berserta data kita. Bisa diihat di controller kita di ProjectController misalnya jangan lupa untuk menambahkan rules untuk hak aksesnya..
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view','vieweach'),//tambahkan view each disini
'users'=>array('@'),
),
Nah ini untuk controllernya
public actionViewEach($project_id){
$criteria=new CDbCriteria();
$criteria->addColumnCondition(array('project_id'=>$project_id));
$provider=new CActiveDataProvider('Project',array('criteria'=>$criteria));
$this->renderPartial('/risk/view_each',array('provider'=>$provider),false,true);
}
Anda juga dapat menggunakan onChange pada property html di checkbox untuk memberikan fungsi javascirpt anda sendiri
<?php echo CHtml::checkbox("load risk",false,array("onChange"=>"js:yourcustomfunction()")); ?> //jangan lupa untuk meregister yourcustomfunction menggunakan registerScript
Selamat mencoba
mau kasih masukkan gan, mungkin yg udah kenal yii tau cara meletakkan code yg agan kasih, tp bagi pemula bakalan bingung, saran ane tolong dikasih tau letak naro coding nya secara detail.. :)
BalasHapusoke gan.. bisa diterima sarannya..
BalasHapus