php - hiddeninput - Opción vacía Yii2 desplegable
yii2 html checkboxlist (5)
¿Estás buscando algo como esto?
<?=$form->field($model, ''project'')
->dropDownList(ArrayHelper::map([''empty''=>''Empty string''], ''id'', ''value''))
->label(false);
?>
Cómo implementar el siguiente código Yii en Yii2:
<?php
echo $form->dropDownList($model,
''project'',
$model->getProjectOptions(),
array(''empty'' => ''Empty string'')
);
?>
Cuando crea la matriz projectOptions, simplemente haga que el primer índice tenga una clave nula, así:
[
null => ''Empty option'',
... // Your options
]
Y en su opinión solo agrega
$form->field($model, ''project'')->dropDownList($model->projectOptions);
Cuando el nombre de su función comienza con ''get'' seguido de una letra mayúscula, el yii lo entiende como un atributo, por lo que
public function getSomeOptions(){ ..
es lo mismo someOptions
, es el mismo principio de las relaciones de tabla
Por qué no
dropDownList($model, ''project'', $model->getProjectOptions(), array(''prompt''=>''Empty string''); ?>
- prompt: string, un texto de solicitud que se mostrará como la primera opción;
Aquí está el viejo CHtml https://github.com/yiisoft/yii2/blob/master/framework/yii/helpers/base/Html.php
Puede encontrarlo si necesita algo más.
Pruebe esto: puede quitar el templet si lo desea.
<?php
$form = ActiveForm::begin([
''id'' => ''test-form'',
''options'' => [''class'' => ''form-horizontal''],
''enableClientValidation''=> true,
''enableAjaxValidation''=> false,
''validateOnSubmit'' => true,
''validateOnChange'' => true,
''validateOnType'' => true,
''action'' => Yii::$app->homeUrl . ''your/url/path''
]);
?>
echo $form->field($model,
''your_field_name'',
[''template'' => ''<div class="col-md-3">
{label}
</div>
<div class="col-md-9">
{input}{error}{hint}
</div>''
])
->dropdownList($option_array, [''prompt'' => ''--Select--'']);
<?php ActiveForm::end(); ?>
Usa el siguiente código para obtener la lista desplegable en yii2 friend.
<?php
//use app/models/Country;
$countries=Country::find()->all();
//use yii/helpers/ArrayHelper;
$listData=ArrayHelper::map($countries,''code'',''name'');
echo $form->field($model, ''name'')->dropDownList(
$listData,
[''prompt''=>''Select...'']);
?>