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

Uso de DetailView de la extención Kartik

Manual de instalación de tema AdminLTE V2

Como incluir JS

Cómo instalar RBAC

Ejemplos de Gráficas con Highcharts

hostinger

ventana bienvenida