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

Cómo instalar RBAC

Como filtrar campos en Gridview con tablas relacionadas con 3 saltos

Cómo migrar un sitio local al hosting

PHP HTTP client para Yii2

Agregar select en encabezado de busqueda de un GridView

hostinger

ventana bienvenida