Предварительно выбрать значение радиокнопки Yii2

я знаю, что могу использовать

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

предварительно заполнить текстовое поле, но как я могу сделать это для радиосписка?

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

Я мог бы снова использовать ->textInput, но это превращает весь список в одно текстовое поле.

В качестве альтернативы: есть ли лучший способ изменить запись базы данных? В настоящее время я пытаюсь установить все значения в новую форму.


person Shaeldon    schedule 10.04.2015    source источник
comment
Возможный дубликат radioButtonList отмечен по умолчанию   -  person Nana Partykar    schedule 20.10.2015


Ответы (2)


Поместите значение, которое вы хотите выбрать, в атрибут locations вашего $model, и после рендеринга оно будет предварительно выбрано в списке радио. То есть:

$model->locations = ....

Я предполагаю, что местоположения являются внешним ключом к какой-либо другой таблице (или, возможно, к фиксированному списку строк).

person Vasilis Lourdas    schedule 10.04.2015

Ссылаясь на документацию:

Передайте второй параметр, 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');

Надеюсь это поможет..

person Aniruddha    schedule 10.04.2015
comment
И как мне передать правильное значение параметрам? - person Shaeldon; 13.04.2015