【问题标题】:Yii2 - create radioList not enclosed by labelYii2 - 创建未被标签包围的radioList
【发布时间】:2016-11-18 13:17:18
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: forms yii2 radiobuttonlist


    【解决方案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);
    ?>
    

    【讨论】:

    • 这是不正确的。它创建“无标签”。该问题询问不“包装”标签(即它们彼此相邻)。
    猜你喜欢
    • 2016-05-19
    • 1970-01-01
    • 2018-06-19
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多