CGridView AjaxRequests打破了JavaScript自定义CFormatter

Cbelizon

我在使用CGridView和一个使用javascript的自定义格式化程序时遇到问题。当CGridView触发任何形式的Ajax请求时,我的可与javascript一起使用的Formatter停止工作。

让我们尝试一个简单的例子:

格式化程序

class DFormatter extends CFormatter {

    public function formatTest(){
        $js      = <<<EOD
        console.log("test");
        EOD;

        $cs = Yii::app()->getClientScript();
        $cs->registerScript("testjs", $js);

        return false;
    }
}

风景:

<?php $this->widget('zii.widgets.grid.CGridView',
  array(
       'id'           => 'development-grid',
       'dataProvider' => $model->search(),
       'filter'       => $model,
       'columns'      => array(
         'id',
         array(
           'name'  => 'testField',
           'type'  => 'test',
         ),
         array(
           'class' => 'CButtonColumn',
         ),
       ),
  )); ?>

在第一个Ajax请求之后,格式化程序中使用的javascript代码停止工作。在CGridView Widget进行的每个ajax调用之后,如何使我的javascript代码正常工作?

谢谢。

塞缪尔·刘

您不应该将脚本放入格式化程序中。

消除:

    $js      = <<<EOD
    console.log("test");
    EOD;

    $cs = Yii::app()->getClientScript();
    $cs->registerScript("testjs", $js);

配置网格视图:

<?php $this->widget('zii.widgets.grid.CGridView', array(
    //.. other options

    // ADD THIS
    'afterAjaxUpdate' => 'function() { afterAjaxUpdate(); }',

加入<head>/layouts/main.php

<script src="<?= Yii::app()->getBaseUrl(true); ?>/js/myCustomJS.js"></script>

/js/myCustomJS.js创建新的JS文件

function afterAjaxUpdate() {
    // do your formatting here
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yii自定义CGridView项目模板

来自分类Dev

Yii zii.widgets.grid.CGridView自定义字段

来自分类Dev

在yii CGridView中的自定义字段上排序

来自分类Dev

自定义/扩展CGridView小部件YII

来自分类Dev

Yii CGridView自定义列标题排序图标和行链接

来自分类Dev

Yii cgridview从数据不起作用向按钮添加自定义html属性

来自分类Dev

CGridView中带有“按钮”下拉列表的Twitter Bootstrap的“自定义”列

来自分类Dev

Yii cgridview从数据不起作用向按钮添加自定义html属性

来自分类Dev

Yii 1.3 zii.widgets.grid.CGridView将自定义函数添加到类

来自分类Dev

自定义重写规则打破了分页

来自分类Dev

自定义CSS打破了引导模式

来自分类Dev

yii cGridView多注释

来自分类Dev

YII CGridView错误

来自分类Dev

CGridView显示列

来自分类Dev

CGridView按年份过滤

来自分类Dev

Yii关系Cgridview

来自分类Dev

Yii CgridView DataProvider错误

来自分类Dev

在CActiveDataProvider或CGridView中处理

来自分类Dev

更改CGridView的时区

来自分类Dev

Cgridview中的JSON解码

来自分类Dev

CGridView显示列

来自分类Dev

使用CGridView批量更新

来自分类Dev

TFS 2015打破了自定义XAML构建文件中的变量定义

来自分类Dev

自定义角度指令中的ng-switch打破了两种方式的绑定

来自分类Dev

自定义css动画打破了移动浏览器

来自分类Dev

捕获双击Yii的CGridView行

来自分类Dev

Yii从CGridView下载文件

来自分类Dev

nesting CGridView within Bootstrap Tabs

来自分类Dev

CGridView Yii中的行溢出