Как настроить внешний div при создании radioList в Yii framework 2?

#php #yii2 #radio-button #radio

#php #yii2 #переключатель

Вопрос:

Ниже приведено мое загрузочное активное поле, которое генерирует radiolist.

 <?= $form->field($model, 'photo_id')->radioList(['A', 'B', 'C']) ?>
  

Приведенный выше код генерирует следующие HTML-теги.

 <div id="model-photo_id">
    <div class="radio">
        <label>
            <input type="radio" name="Model[photo_id]" value="0" checked=""> 
            A
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" name="Model[photo_id]" value="1" checked=""> 
            B
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" name="Model[photo_id]" value="2" checked=""> 
            C
        </label>
    </div>
</div>
  

Цель <div class="radio"> . Я хотел бы настроить этот div, изменив имя класса или добавив больше имени класса, добавив в него больше атрибутов div и т. Д. Как я могу это сделать?

Ответ №1:

Вы можете попробовать использовать этот пользовательский шаблон, вместо применения class к radio div, вы также можете применить class к label

 echo $form->field($model, 'photo_id')
        ->radioList(
                [0 => 'A', 1 => 'B', 2 => 'C'], [
            'item' => function($index, $label, $name, $checked, $value) {

                $return = '<label class="modal-radio">';
                $return .= '<input type="radio" name="' . $name . '" value="' . $value . '" tabindex="3">';
                $return .= '<i></i>';
                $return .= '<span>' . ucwords($label) . '</span>';
                $return .= '</label>';

                return $return;
            }
                ]
        )
        ->label(false);