Yii2 - 创建未被标签

时间:2016-11-17 05:59:06

标签: forms yii2 radiobuttonlist

如何在yii2中创建一个activeRadioList,其中复选框没有包含在标签中? IE浏览器。标签和输入彼此相邻。

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

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

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

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

但你怎么做这个列表? (仅供参考。我需要这个与materializedcss框架一起使用,以防你想知道)。

2 个答案:

答案 0 :(得分:1)

您只需设置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);
?>

答案 1 :(得分:0)

将附加参数传递给字段配置:

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