我使用ajax并动态加载内容GridView.
它工作,但没有加载gridview js(jquery.yiigridview.js)和yiiGridView($options);“
当我使用$.fn.yiiGridView时会产生错误.
如果我不使用ajax所有正常工作
所以,如果我使用动态加载内容与ajax,我无法重新加载它.$.fn.yiiGridView.update(‘mygrid’);
错误
TypeError:设置未定义
$grid.addClass(settings.loadingClass)
这是我的代码:
index 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>
请帮忙解决这个问题.
解决方法:
试试这是否有帮助:
// controller
if(Yii::app()->request->isAjaxRequest){
Yii::app()->clientScript->corePackages = array(); //new insert
$this->renderPartial('my_view', array(
'model' => $dataProvider,false,true
));
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。