Добрый день,
Есть контроллер:
public function actionIndex()
{
$searchModel = new OffersSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'dataProvider' => $dataProvider,
'searchModel' => $searchModel,
]);
}
index.php:
<?php Pjax::begin(['id' => 'notes']) ?>
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'id',
'name',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
<?php Pjax::end() ?>
js:
$("#search_note").on("pjax:end", function() {
$.pjax.reload({
container:"#notes"
});
});
_search.php файл:
<?php yii\widgets\Pjax::begin(['id' => 'search_note']) ?>
<?php $form = ActiveForm::begin([
'options' => ['data-pjax' => true ],
'method' => 'post',
]); ?>
...
<?= $form->field($model, 'id')->textInput([
'type'=>'number'
]) ?>
...
<?= Html::submitButton(Yii::t('app', Yii::t('app','search')), ['class' => 'btn btn-primary']) ?>
<?= Html::resetButton(Yii::t('app', Yii::t('app','reset')), ['class' => 'btn btn-default']) ?>
<?php ActiveForm::end(); ?>
<?php yii\widgets\Pjax::end() ?>
Если я меняю
'method' => 'post',
на
'method' => 'get',
То фильтр работает, но после перезагрузки страницы и все GET параметры летят в адресную строку.
Хотелось бы без перезагрузки страницы и желательно данные с формы посылать постом.
Подскажите, что я делаю не так?
И еще вопрос, может кто-нибудь знает - каким образом в кастумной форме передать вид сортировки, чтобы его скушал
dataProvider? Актуально для
ListView.