下面是我在 Yii 框架 2 中生成复选框列表的代码。
<?php $form = ActiveForm::begin(); ?>
<?php echo $form->field($model, 'my_property')->checkboxList(['A', 'B', 'C']) ?>
<?php ActiveForm::end(); ?>
这会生成以下 HTML 复选框列表。
<div class="form-group">
<label class="control-label" for="my_property">My Property</label>
<input type="hidden" name="Model[my_property]" value="">
<div id="model-my_property">
<div class="checkbox">
<label>
<input type="checkbox" name="Model[my_property][]" value="0"> A
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="Model[my_property][]" value="1"> B
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="Model[my_property][]" value="2"> C
</label>
</div>
</div>
<p class="help-block help-block-error"></p>
</div>
如何删除 class="checkbox"
来自div
它直接围绕 <label>
标签?我已经尝试过template
, checkboxTemplate
和inputTemplate
,有了这些我只能触摸外层div
.
最佳答案
我猜你使用的是 yii\bootstrap\ActiveForm
而不是默认的 yii\widgets\ActiveForm
因为有这个元素的样式。
最简单的解决方案 - 使用第二个 ActiveForm 类,这样它将没有样式。
如果您不想更改 ActiveForm 类:
$form
->field($model, 'my_property')
->checkboxList(
['A', 'B', 'C'],
['item' => function ($index, $label, $name, $checked, $value) {
return '<div>'
. '<label>'
. '<input type="checkbox" name="' . $name . '" value="' . $value . '"> '
. $label
. '</label>'
. '</div>';
}]
);
关于php - 如何从 Yii 框架 2 中的 checkboxList() 中的 DIV 父级中删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39125676/