1

我知道我可以使用

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

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

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

我可以->textInput再次使用,但这会将整个列表转换为单个文本字段

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

4

2 回答 2

3

将您想要选择的值放在您的locations属性中$model,渲染后,它将在单选列表中预先选择。那是:

$model->locations = ....

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

于 2015-04-10T14:50:18.260 回答
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');

希望这可以帮助..

于 2015-04-10T14:28:35.157 回答