yii:CGridView传值到CJuiDialog中 利用ajax传值

问题:期望在cgridview中点击设置的button传递id号到CJuiDialog中,进行处理,先看结果:

yii:CGridView传值到CJuiDialog中 利用ajax传值_第1张图片

 
解决步骤:

一、在buttons中利用js获取当前按钮的链接,进而利用ajax传递值

yii:CGridView传值到CJuiDialog中 利用ajax传值_第2张图片

 

二、在cgridview这个视图中定义这个弹出层:

 

<!--the dialog for updatAdCode begin   -->
<?php
$this->beginWidget('zii.widgets.jui.CJuiDialog',   array(
      'id'=>'updateAdCodeDialog',
 
    // additional   javascript options for the dialog plugin
      'options'=>array(
          'title'=>'更改Img/Flash',
  'modal' =>   true,
          'autoOpen'=>false,
  'minWidth' =>   '500',
      ),
));
$this->endWidget('zii.widgets.jui.CJuiDialog');
?>
<!--the   dialog for updatAdCode over -->


三、model中:

 

 /*
  * get the ajax request and echo the html content
    */
 public function actionShowAdCode()
 {
  if   (Yii::app()->request->isAjaxRequest)  
  {
   $ad_id =   $_GET['id'];
   $model_for_dialog =   Ad::model()->findByPk($ad_id);
   echo   $this->renderPartial('_updateAdCode', array('model' =>   $model_for_dialog));
  }
 }

 

 


四、_updateAdCode.php


yii:CGridView传值到CJuiDialog中 利用ajax传值_第3张图片

 

yii:CGridView传值到CJuiDialog中 利用ajax传值_第4张图片

 

yii:CGridView传值到CJuiDialog中 利用ajax传值_第5张图片

五、UpdateAdCode

yii:CGridView传值到CJuiDialog中 利用ajax传值_第6张图片

 

yii:CGridView传值到CJuiDialog中 利用ajax传值_第7张图片

 

yii:CGridView传值到CJuiDialog中 利用ajax传值_第8张图片

 

yii:CGridView传值到CJuiDialog中 利用ajax传值_第9张图片

 

  
用这种方法感觉不太好,有点麻烦,不如用其他的插件


 参考资料:http://www.yiiframework.com/forum/index.php/topic/19586-ajaxlink-in-cgridview/(本案例中用的方法)

http://www.yiiframework.com/forum/index.php/topic/23807-how-do-i-post-value-to-cjuidialog/

http://www.yiiframework.com/forum/index.php/topic/19586-ajaxlink-in-cgridview/

http://www.yiiframework.com/forum/index.php/topic/9931-how-to-call-cjuidialog-in-cgridview/

http://stackoverflow.com/questions/7708455/how-to-pass-the-view-id-to-the-cjuidialog-box


你可能感兴趣的:(yii:CGridView传值到CJuiDialog中 利用ajax传值)