Getting value from url for filter field in GridView

In my grid view I have added my own filter. But as you can see I had to use “value” to get the value for that input field from url. Other filter fields doesn’t require anything, they pick up value automatically, but custom filter fields doesn’t. I type something in, it accepts and search and after that, field is empty.


<?= GridView::widget([

	'dataProvider' => $dataProvider,

	'filterModel' => $searchModel,

	'tableOptions'=>['class'=>'table table-striped table-hover table-bordered responsive',],

	'columns' => [


		[

			'attribute'=>'date_created',

			'filter'=>Html::activeTextInput($BreederResultsSearch, 'date_created', ['class'=>'js-datepicker', 'value'=>isset($_GET["BreederResultsSearch"])?$_GET["BreederResultsSearch"]["date_created"]:NULL]),

		],


		['class' => 'yii\grid\ActionColumn'],

	],

]); ?>

[SOLVED]

in my index.php i passed $searchModel as parameter of textInputDateCreatedSearch()




<?php 

$BreederResults=new BreederResults;

?>

<?= GridView::widget([

	'dataProvider' => $dataProvider,

	'filterModel' => $searchModel,

	'tableOptions'=>['class'=>'table table-striped table-hover table-bordered responsive',],

	'columns' => [

	   // ['class' => 'yii\grid\SerialColumn'],




		[

			'attribute'=>'date_created',

			'filter'=>$BreederResults->textInputDateCreatedSearch($searchModel),

		],


		['class' => 'yii\grid\ActionColumn'],

	],

]); ?>




in class BreederResults I’ve created a function that returns activeTextInput where $model is that $searchModel and yii does the rest and everytime I search for something my new filter text field is always filled with value from url




public function textInputDateCreatedSearch($searchModel)

{

       return Html::activeTextInput($searchModel, 'date_created', ['class'=>'js-datepicker']);

}