我正在使用Yii 2 ActiveForm,试图使选项7"默认".
为此,我必须使用options数组,但是当我这样做时,在查看HTML源时,我的html属性"selected"根本没有被渲染.我没有错.
如果我使用其他选项,例如"标签",它可以按预期工作.
$form->field($model, 'date')->dropDownList($months, [
'options'=>array(
'7' => ['label' => 'JULY', 'selected'=>true],
),
]);
Run Code Online (Sandbox Code Playgroud)
根据文档,任何"有效"选项都被接受,我认为"选中"是有效的,因为它是一个HTML下拉列表?
这是生成的:
<select id="log-date" class="form-control" name="Log[date]">
<option value="1">JANUARY</option>
<option value="2">FEBRUARY</option>
<option value="3">MARCH</option>
<option value="4">APRIL</option>
<option value="5">MAY</option>
<option value="6">JUNE</option>
<option value="7" label="label works fine">JULY</option>
<option value="8">AUGUST</option>
<option value="9">SEPTEMBER</option>
<option value="10">OCTOBER</option>
<option value="11">NOVEMBER</option>
<option value="12">DECEMBER</option>
</select>
Run Code Online (Sandbox Code Playgroud)
小智 6
这里回答:选择了Yii2 dropDownList标记选项.您需要设置日期属性:
$model->date = 7;
$form->field($model, 'date')->dropDownList($months);
Run Code Online (Sandbox Code Playgroud)还有来自开发人员的讨论:dropDownList pre选择不呈现'selected' 他们建议您在init()方法中定义属性的默认值或直接在视图中设置它(这与上面的答案相同).我也是这样做的
$model->priority = $model->isNewRecord ? 2 : $model->priority;
$form->field($model, 'priority',[
'options'=>['class'=>'col-xs-12 col-md-3']
])->dropDownList($priorityList)
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
17102 次 |
| 最近记录: |