во-первых, простите за мой английский …
У меня есть 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(); ?>
Я могу просто обновить сетку, не закрывая модал?
Спасибо
Задача ещё не решена.
Других решений пока нет …