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);
?>
如何在 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);
?>