Как удалить класс из DIV родителей из checkboxList () в Yii framework 2

Ниже мой код для создания списка флажков в Yii Framework 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,

2

Решение

Я полагаю, вы используете 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>';
}]
);
2

Другие решения

Других решений пока нет …