PJAX后,YII2可编辑列不起作用

时间:2018-07-20 06:20:09

标签: yii2 pjax

gridview中具有集成EditableColumn的列,该列在每次加载页面时都可以正常工作,但在执行任何PJAX调用(如搜索,分页更改等)后无法正常工作。

在View中EditableColumn代码如下:

[
    'class' => EditableColumn::class,
    'attribute' => 'visit_status',
    'url' => ['update'],
    'type' => 'select',
    'editableOptions' => function ($model) {
        return [
            'source' => [
                'PENDING' => 'PENDING',
                'APPROVED' => 'APPROVED',
                'REJECTED' => 'REJECTED'
            ],
            'value' => $model->visit_status,
            'editable' => true
        ];
    },
],

控制器动作如下:

public function actionUpdate()
{
    $pk = unserialize(base64_decode(Yii::$app->request->post('pk')));
    $model = MyModel::findOne($pk);
    if ($model) {
        $model->visit_status = Yii::$app->request->post('value');
        if ($model->validate(['visit_status'])) {
            $model->save(false);
        } else {
            throw new BadRequestHttpException($model->getFirstError('visit_status'));
        }
    }
}

如果禁用了PJAX,那么它可以正常工作,但不能为此破坏PJAX

0 个答案:

没有答案