【问题标题】:delete event trigger something in CGridView of Yii在 Yii 的 CGridView 中删除事件触发某些东西
【发布时间】:2013-07-26 12:05:40
【问题描述】:

我在我的控制器中合并创建和管理视图和方法, 所以在admin.php 我有以下几行:

echo $this->renderPartial('_form',  array('model'=>$create));
echo $this->renderPartial('_admin',  array('model'=>$search));

在 _form 中我将提交按钮编辑为

echo CHtml::ajaxSubmitButton('Submit', Yii::app()->createUrl('money/income'), array('update' => '#money-grid'));

money控制器中,income方法实现create方法并发送CGridView作为ajax响应。

if ($createModel->save()) {
                $this->renderPartial('_admin', array('model' => $searchModel), false, true);

如果数据保存到数据库中,它会呈现包含CGridView_admin视图,这很有效,但是存在问题,如果客户端创建一些东西并插入数据库,所以在点击CGridView的delete之后它会触发不止一个,它会产生问题, 例如如果用户插入n行,然后点击每一行删除,它会触发n + 1次。(但应该是1)

问题出在哪里?是 Yii 的问题吗?

【问题讨论】:

    标签: yii cgridview


    【解决方案1】:

    通过 jQuery 更新 CGridView 而不是渲染它解决了这个问题,所以我将我的 ajaxSubmitButton 更改为

    echo CHtml::ajaxSubmitButton('Submit', Yii::app()->createUrl('money/income'), array('success'=>'$.fn.yiiGridView.update("money-grid")'));
    

    它解决了问题。

    'success'=>'$.fn.yiiGridView.update("money-grid")'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-18
      • 1970-01-01
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      相关资源
      最近更新 更多