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

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', 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] 举报,一经查实,本站将立刻删除。

相关推荐