如何實現下面的Yii代碼Yii2:Yii2下拉空的選項
<?php
echo $form->dropDownList($model,
'project',
$model->getProjectOptions(),
array('empty' => 'Empty string')
);
?>
如何實現下面的Yii代碼Yii2:Yii2下拉空的選項
<?php
echo $form->dropDownList($model,
'project',
$model->getProjectOptions(),
array('empty' => 'Empty string')
);
?>
爲什麼不
dropDownList($model, 'project', $model->getProjectOptions(), array('prompt'=>'Empty string'); ?>
這裏是老了CHtml https://github.com/yiisoft/yii2/blob/master/framework/yii/helpers/base/Html.php
能找到那裏,如果你需要更多的東西。
試試這個: 如果你願意,你可以移除模板。
<?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(); ?>
您看起來這樣?
<?=$form->field($model, 'project')
->dropDownList(ArrayHelper::map(['empty'=>'Empty string'], 'id', 'value'))
->label(false);
?>
當你做出projectOptions陣列,只要第一個索引有一個空鍵,這樣的:
[
null => 'Empty option',
... // Your options
]
而且在你看來你只需要添加
$form->field($model, 'project')->dropDownList($model->projectOptions);
當你的函數名以'get'開頭,後跟一個大寫字母,yii明白作爲一個屬性,所以
public function getSomeOptions(){ ..
是一樣的someOptions
,是表關係
使用下面的代碼來獲得在yii2朋友下拉列表的原理相同。
<?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...']);
?>
http://www.yiiframework.com/doc-2.0/yii-widgets-activefield.html#dropDownList()-detail文件的Yii2 DROPDOWNLIST –
您現在可以設置爲空(提示)選項警予的2.0.11按[在文檔中](http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#activeDropDownList()-detail) – friek108