Yii2 预选单选按钮值
Yii2 preselect radiobutton value
我知道我可以使用
<?= $form ->field($model, 'subject')
->textInput(array('value' => 'VALUE'))
->label('Titel'); ?>
要预填充文本字段,但我该如何为 radioList 预填充?
<?= $form ->field($model, 'locations')
->radioList($regionen)
->label('Regionen');
我可以再次使用 ->textInput
,但这会将整个列表转换为单个文本字段
或者:有没有更好的方法来修改数据库记录?目前我正在尝试将所有值设置为新形式。
参考 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');
希望这对您有所帮助..
将您要选择的值放入$model
的locations
属性中,渲染后,它将在单选列表中预先选择。即:
$model->locations = ....
我假设 locations 是其他 table(或者可能是固定的字符串列表)的外键。
我知道我可以使用
<?= $form ->field($model, 'subject')
->textInput(array('value' => 'VALUE'))
->label('Titel'); ?>
要预填充文本字段,但我该如何为 radioList 预填充?
<?= $form ->field($model, 'locations')
->radioList($regionen)
->label('Regionen');
我可以再次使用 ->textInput
,但这会将整个列表转换为单个文本字段
或者:有没有更好的方法来修改数据库记录?目前我正在尝试将所有值设置为新形式。
参考 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');
希望这对您有所帮助..
将您要选择的值放入$model
的locations
属性中,渲染后,它将在单选列表中预先选择。即:
$model->locations = ....
我假设 locations 是其他 table(或者可能是固定的字符串列表)的外键。