Cómo crear select sin modelo y reenvio al modificarlo

Cómo crear select sin modelo y reenviarlo al modificarlo 


En ocasiones es necesario crear un select sin modelo, para estos casos dejo este manual.

Dentro del action de tu controller debes escribir lo siguiente, en primer lugar un arreglo con esa estructura ó puedes obtenerla de una base de datos. 

En mi caso quiero que aparesca una lista de años, a cual uso para filtrar una gráfica.

...
$selectAnios = [ 2019 => "2019" , 2020 => "2020" , 2021 => "2021" , 2022=>"2022", 2023=>"2023" ];
                
                
        return $this->render('index', [
            'searchModel' => $searchModel,
            'dataProvider' => $dataProvider,
            'selectAnios' => $selectAnios,
            'anio' => $anio
        ]);
..........

En la vista deberás agregar lo siguiente.
<?=Html::beginForm(['phising/'], 'get'); ?> 
 <div class="form-group">
     <label for="exampleFormControlSelect1">Seleccione año para gráficas</label>
 <?=Html::dropDownList('anio',$anio,$selectAnios,['class'=>'form-control','onchange'=>'this.form.submit()'] )?>
   </div>                           
  <?=Html::endForm();?>

Nota que el select se llama 'anio', el cual cuando el usuario cambia el select se reenvía el formulario.



Comentarios

Aprende Yii2


Lo más Visto

Como agregar select2 como filtro de un gridview utilizando Ajax para la búsqueda de elementos

Exportar a Excel listado GridView

Guía rápida para uso de widget kartik para select para formulario

Ejemplos de Gráficas con Highcharts

Cómo instalar temas de diseño gráfico

hostinger

ventana bienvenida