您的位置:首页 > 编程语言 > PHP开发

YII CJuiDialog 中运行ajax CGridView

2013-05-16 14:21 429 查看
1,CJuiDialog按钮

$('#choose-clientele').click(function(){
var client_url=baseUrl+'/index.php?r=basedata/clienteles';
$('#clientele_dialog').dialog("open");
$.ajax({url:client_url,async:false,success:function(data){
$('#clientele_dialog').html(data);

}});
});


2,请求的控制器

public function actionClienteles()
{
$model = new ClienteleSurvey('search');
$this->layout = 'ajax';
$this->render('clientele',array('model'=>$model));
}


3,视图,

<?php
Yii::app()->clientScript->scriptMap = array('jquery.js'=>false, 'jquery.min.js'=>false);
$columns = array("id","company");
$factory = new CWidgetFactory();
$widget = $factory->createWidget($this, 'zii.widgets.grid.CGridView', array(
'id'=>'clientele-survey-grid',
'dataProvider'=>$model->search(),
'columns'=>$columns,
'ajaxUpdate'=>true,
));
$widget->init();
$widget->run();
?>


4,去头去尾的layout, $this->layout = 'ajax';

对应文件: view/layout/ajax.php

<?phpecho $content; ?>


注意的是:YII dialog中重复加载jquery.js会导致出现错误:Object [object Object] has no method 'dialog'

解决办法是:
Yii::app()->clientScript->scriptMap = array('jquery.js'=>false, 'jquery.min.js'=>false);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: