我使用ajax并动态加载内容GridView。
它工作,但没有加载gridview js(jquery.yiigridview.js)和yiiGridView($ options);“
和,当我使用$.fn.yiiGridView
时会产生错误。
如果我不使用ajax所有正常工作
所以,如果我使用ajax动态加载内容,我就无法重新加载它。$。fn.yiiGridView.update('mygrid');
错误
TypeError:设置未定义
$ grid.addClass(settings.loadingClass)
这是我的代码: 索引javaScipt代码(调用控制器和加载内容):
sendAjaxCall = function(url){
request = $.ajax({
url : url,
type: 'GET',
dataType: 'html',
success : function(data){
var newContent = $(data).find('#content>.container').html();
// adding only main contant
if(newContent === null || !newContent ) {
$(container).html(data);
} else {
$(container).html(newContent);
}
},
error : function(error){
console.log(error);
}
});
}
控制器:
public function actionMyFunction(){
$condition='...'
$dataProvider = new CActiveDataProvider('MtTable', array(
'criteria' => array(
'condition' => $condition,
'order' => '',
),
));
if(Yii::app()->request->isAjaxRequest){
$this->renderPartial('my_view', array(
'model' => $dataProvider,false,true
));
} else {
$this->render('my_view', array(
'model' => $dataProvider,
));
}
}
查看
<span class="h1"> <?php echo ModuleSettings::t( 'Usersettings', 'Manage Keys' ); ?></span>
<div class="wrapperlong">
<?php
$this->widget('bootstrap.widgets.TbExtendedGridView',array(
'id'=>'key-grid',
'fixedHeader' => true,
'responsiveTable' => false,
'template' => "{items}{pager}{summary}",
'ajaxUpdate'=>true,
'ajaxUrl'=> Yii::app()->request->getUrl(),
'afterAjaxUpdate' => 'completeAjax',
'dataProvider'=>$model,
'columns'=>array(
'title',
'key',
)
)); ?>
</div>
请帮助解决这个问题。
答案 0 :(得分:1)
尝试这是否有帮助:
// controller
if(Yii::app()->request->isAjaxRequest){
Yii::app()->clientScript->corePackages = array(); //new insert
$this->renderPartial('my_view', array(
'model' => $dataProvider,false,true
));
}