我有以下问题:我需要使用一个pjax容器来执行两个不同的操作。
确切地说,其中一个用于在表单提交后重新加载gridview。 第二个需要用模型用户想要编辑的数据填写表格。 即使在第一种情况下脚本正常工作,第二种情况也会导致填写正确的形式,并且还会替换gridview以形成。
有任何建议如何解决这个问题?
我的代码如下:
GRIDVIEW
<?= GridView::widget([
'dataProvider' => $dataProvider2,
'filterModel' => $searchModel2,
'filterPosition' => '',
'summary' => "<div class=\"summary\">Razem wniosków: {totalCount} <span id='wnioski-suma'></span></div>",
'layout' => '{pager}{items}{summary}',
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'nr_wniosku',
//'kwota',
[
'attribute' => 'kwota',
'value' => function($model) {
return Yii::$app->formatter->asCurrency($model->kwota, "PLN");
}
],
['class' => 'yii\grid\ActionColumn',
'buttons' => [
'usunwniosek' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-trash"></span>', $url, [
'title' => Yii::t('yii', 'Delete'),
//'data-confirm' => 'Czy na pewno usunąć ten rekord?',
'class'=>'btn btn-default btn-xs btn-szeroki',
]);
},
'edytujwniosek' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', $url, [
'title' => Yii::t('yii', 'Update'),
'class'=>'btn btn-default btn-xs btn-szeroki gv-btn-edit',
]);
}
],
'template' => '{edytujwniosek} {usunwniosek}',
'visible' => $btns,
],
],
]); ?>
用于创建新记录的js:
$pjaxjs = '
$("document").ready(function(){
$("#new_wniosek").on("pjax:end", function() {
console.log("pjax on new_wniosek end");
$.pjax.reload({container:"#wnioski-lista"}); //Reload GridView
});
});
';
$this->registerJs($pjaxjs, $this::POS_READY);
用于编辑记录的js:
$("document").ready(function(){
$(document).on("click", "a.gv-btn-edit", function(event) {
$.pjax.reload({container:"#new_wniosek"}); //Reload GridView
});
});
有任何建议吗?