微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Yii加载动态添加(使用ajax)GridView TypeError:设置未定义

我使用ajax并动态加载内容GridView.

它工作,但没有加载gridview js(jquery.yiigridview.js)和yiiGridView($options);“
当我使用$.fn.yiiGridView时会产生错误.

如果我不使用ajax所有正常工作

所以,如果我使用动态加载内容与ajax,我无法重新加载它.$.fn.yiiGridView.update(‘mygrid’);
错误
TypeError:设置未定义
$grid.addClass(s​​ettings.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',));
        }

    }

视图

<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,true
    ));
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐