Yii2预选单选按钮值

时间:2015-04-10 13:12:22

标签: yii2 active-form

我知道我可以使用

 <?= $form  ->field($model, 'subject')
            ->textInput(array('value' => 'VALUE'))
            ->label('Titel'); ?>

预填充文本字段,但我如何为radioList执行此操作?

<?= $form  ->field($model, 'locations')
           ->radioList($regionen)
           ->label('Regionen');

我可以再次使用->textInput,但这会将整个List转换为单个Textfield

Alternativly:有更好的方法来修改数据库记录吗?目前我正在尝试将所有值设置为新形式。

2 个答案:

答案 0 :(得分:3)

将您想要选择的值放在locations的{​​{1}}属性中,渲染后,它将在广播列表中预先选中。那就是:

$model

我假设位置是某个其他表的外键(或者可能是固定的字符串列表)。

答案 1 :(得分:2)

参考documentation

将第二个参数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');

希望这会有所帮助..