Php Yii2:pjax在窗口弹出窗口中

Php Yii2:pjax在窗口弹出窗口中,php,jquery,modal-dialog,yii2,pjax,Php,Jquery,Modal Dialog,Yii2,Pjax,首先,对不起我的英语 我在窗口弹出窗口中有一个CRUD,但我不能在ajax成功插入、更新和删除中更新网格,而不刷新页面并关闭模式 在ajax中: }).done(function(data) { $('#div-form').html(data.form); if(data.success){ $.pjax.reload({container:'#pjax-resposta-possivel'}); } }) 在用控制器:

首先,对不起我的英语

我在窗口弹出窗口中有一个CRUD,但我不能在ajax成功插入、更新和删除中更新网格,而不刷新页面并关闭模式

在ajax中:

}).done(function(data) {
        $('#div-form').html(data.form);
        if(data.success){
            $.pjax.reload({container:'#pjax-resposta-possivel'});
        }
})
在用控制器:

    public function actionSalvarRespostaPossivel()
    {

        $return = [
            'success' => false,
            'form' => null
        ];
        Yii::$app->response->format = Response::FORMAT_JSON;
        $post = Yii::$app->request->post();

        if ($post && $post['RespostaPossivelDetalhes']['id']) {
            $model = RespostaPossivelDetalhes::findOne([
                $post['RespostaPossivelDetalhes']['id']
            ]);
        } else {
            $model = new RespostaPossivelDetalhes();
        }

        if ($model->load($post) && $model->save()) {
            $return['success'] = true;

            $tblcacd_id = $model->tblcacd_id;
            $model = new RespostaPossivelDetalhes();
            $model->tblcacd_id = $tblcacd_id;

        }

        $return['form'] = $this->renderPartial('_formRespostaPossivel', [
            'model' => $model
        ]);

        return $return;
    }
鉴于:

<?php Pjax::begin(['enablePushState' => false, 'id' => 'pjax-resposta-possivel'])?>

<?= GridView::widget([
        'dataProvider' => $dataProvider,
        'emptyCell' => ' ',
        'summary' => "Exibindo {begin} - {end} de {totalCount}.",
        'layout' => "{pager}\n{items}\n{summary}",
        'columns' => [
            ['class' => 'yii\grid\SerialColumn'],
            'chave',
            'desc_resposta',
            [
                'class' => 'yii\grid\ActionColumn',
                'template' => '{update}  {delete}',
                'contentOptions'=>['style'=>'width: 10%;text-align:center;'],
                'buttons' => [
                    'update' => function ($url, $model)
                    {
                        return Html::a('<span class="glyphicon glyphicon-pencil"></span>', false, [
                            'data-id' => $model->id,
                            'class' => 'btn-update-resposta',
                            'style' => 'cursor:pointer;'
                        ]);
                    },
                    'delete' => function ($url, $model)
                    {
                        return Html::a('<span class="glyphicon glyphicon-trash"></span>', false, [
                            'data-id' => $model->id,
                            'class' => 'btn-delete-resposta',
                            'style' => 'cursor:pointer;'
                            ]);
                    }

                ]
            ],
        ],
    ]); ?>


<?php Pjax::end(); ?>
我可以在不关闭模式的情况下更新网格吗


谢谢

很容易忘记,但是您的模式是通过ajax加载的,这意味着刷新网格的javscript将无法工作,因为网格不存在。最简单的修复方法是使用.on'click'作为javascript,或者将它放在与您的modalI相同的页面上。我正在使用.on'click'但是不起作用