@VitaliyKaliuzhyn

Кастомизация radioList() yii2?

В стандартном выводе radioList()
<?=$form->field($model,'created_at')->radioList(['Radio 1', 'Radio 2', 'Radio 3'],['labelOptions'=>['class'=>'mt-radio'],'name'=>"test"]); ?>

на выходе получаю
<div id="users-created_at" name="test" labeloptions="{&quot;class&quot;:&quot;mt-radio&quot;}"><label><input type="radio" name="test" value="0"> Radio 1</label>
<label><input type="radio" name="test" value="1"> Radio 2</label>
<label><input type="radio" name="test" value="2"> Radio 3</label></div>


перопределив шаблон вывода вот таким вот образом
Html::beginTag('label', $labelOptions) .
                Html::Tag('input','',$options).
                Html::beginTag('span') .
                Html::endTag('span') .
                Html::endTag('label');

на выходе вместо трех radioButton получаю один
<label class="mt-radio"><input type="radio" name="test"]"><span></span></label>


Как можно получить на выходе все что я задаю атрибутами в radioList()
  • Вопрос задан
  • 5680 просмотров
Пригласить эксперта
Ответы на вопрос 1
slo_nik
@slo_nik Куратор тега Yii
Добрый день.
Вы всё неверно делаете.
В документации для radioList есть ссылка на activeRadioList. В параметре options можно вызвать функцию, в которой переопределить вид radioList

p.s. Приблизительно так:
'item' => function($index,$label,$name,$checked,$value){
                                        return Html::radio($name,
                                                           $checked,
                                                           [
                                                               'label' => $label,
                                                               'value' => $value,
                                                               'labelOptions' => ['class' => 'niceInput']
                                                           ]);

                                    }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы