dropDownList很多人使用起来没法加默认值或者自动选中,一下是个人总结的效果,方便以后使用
一、使用Html助手类
echo Html::dropDownList('cat_pid', null, \common\models\CategoryModel::find()
->select(['cat_title','cat_id'])
->where(['cat_status'=>1,'cat_flag'=>$flag])
->orderBy('cat_sort')
->indexBy('cat_id')
->column(),
[
'options' => ['5' => ['selected' => true]],
'prompt' =>['text'=>'顶级栏目', 'options'=>['value'=>0]],
'style'=>'width:200px',
]);打印效果代码:
<select name="cat_pid" style="width:200px">
<option value="0">顶级栏目</option>
<option value="2">门店栏目</option>
<option value="4">杭州</option>
<option value="14">uuu</option>
<option value="16">uuu1</option>
<option value="5" selected>浦东新区</option>
<option value="3">上海</option>
<option value="17">u</option>
<option value="6">长宁区</option>
<option value="18">uk</option>
<option value="7">闸北区</option>
<option value="15">uuu1</option>
<option value="13">uuu</option>
</select> 二、使用ActiveForm小部件
<?= $form->field($model,'cat_pid')
->dropDownList(\common\models\CategoryModel::find()
->select(['cat_title','cat_id'])
->where(['cat_status'=>1,'cat_flag'=>$flag])
->orderBy('cat_sort')
->indexBy('cat_id')
->column(),
[
'value' => 5,
'prompt' =>['text'=>'顶级栏目', 'options'=>['value'=>0]],
]);
?>打印效果效果
<div class="form-group field-categorymodel-cat_pid required">
<label class="control-label" for="categorymodel-cat_pid">上一级类别</label>
<select id="categorymodel-cat_pid" class="form-control" name="CategoryModel[cat_pid]" value="5" aria-required="true">
<option value="0">顶级栏目</option>
<option value="2">门店栏目</option>
<option value="4">杭州</option>
<option value="14">uuu</option>
<option value="16">uuu1</option>
<option value="5" selected>浦东新区</option>
<option value="3">上海</option>
<option value="17">u</option>
<option value="6">长宁区</option>
<option value="18">uk</option>
<option value="7">闸北区</option>
<option value="15">uuu1</option>
<option value="13">uuu</option>
</select>
<div class="help-block"></div>
</div>
本文介绍如何在Yii2框架中使用dropDownList辅助函数及ActiveForm小部件来设置默认选中项和预设选项,包括代码实现方式及最终呈现效果。

438

被折叠的 条评论
为什么被折叠?



