我知道我可以使用
<?= $form ->field($model, 'subject')
->textInput(array('value' => 'VALUE'))
->label('Titel'); ?>
预填充文本字段,但我如何为radioList执行此操作?
<?= $form ->field($model, 'locations')
->radioList($regionen)
->label('Regionen');
我可以再次使用->textInput
,但这会将整个List转换为单个Textfield
Alternativly:有更好的方法来修改数据库记录吗?目前我正在尝试将所有值设置为新形式。
答案 0 :(得分:3)
将您想要选择的值放在locations
的{{1}}属性中,渲染后,它将在广播列表中预先选中。那就是:
$model
我假设位置是某个其他表的外键(或者可能是固定的字符串列表)。
答案 1 :(得分:2)
将第二个参数options[]
传递给radioList()
$options = [
'item' => function($index, $label, $name, $checked, $value) {
// check if the radio button is already selected
$checked = ($checked) ? 'checked' : '';
$return = '<label class="radio-inline">';
$return .= '<input type="radio" name="' . $name . '" value="' . $value . '" ' . $checked . '>';
$return .= $label;
$return .= '</label>';
return $return;
}
]
<?= $form->field($model, 'locations')
->radioList($regionen, $options)
->label('Regionen');
希望这会有所帮助..