Yii2 - 创建不包含在标签中的 radioList

Yii2 - create radioList not enclosed by label

如何在 yii2 中创建一个复选框未包含在标签中的 activeRadioList? IE。标签和输入相邻。

下面创建了一个单选按钮列表,其中每个输入都包含在标签中:

<?= $form->field($model,'myattribute')->radioList(['n'=>'No','y'=>'Yes']) ?>

您可以通过将第二个参数设置为 false 来创建一个不包含在标签中的单选按钮:

<?= $form->field($model,'myattribute')->radio(null,false) ?>

但是如何为列表执行此操作? (仅供参考。我需要它与 materializedcss 框架一起工作,以防你想知道)。

你只需要设置 label 属性 false

<?= $form->field($model,'myattribute')->radioList(['n'=>'No','y'=>'Yes'])->label(false); ?>

更新答案

所以在这种情况下,您需要使用如下自定义逻辑。

<?=
        $form->field($model, 'myattribute')
        ->radioList(
                ['n'=>'No','y'=>'Yes'], [
            'item' => function($index, $label, $name, $checked, $value) {

                $return = '<input type="radio" name="' . $name . '" value="' . $value . '">';
                $return .= '<i></i>';
                $return .= '<span>' . ucwords($label) . '</span>';
                return $return;
            }
                ]
        )
        ->label(false);
?>