0

我在我的控制器中合并创建和管理视图和方法,所以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方法实现创建方法并 CGridView作为ajax响应发送。

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

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

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

4

1 回答 1

0

通过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")'
于 2013-07-26T13:24:25.803 回答