以下是来自Yii2 checkboxList的示例代码,我想在checkboxList中为每个项添加自定义类,但我不知道如何以及在哪里可以添加它! 请你帮帮我..
$list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript'];
$list2 = [0,2];
echo Html::checkboxList('CuisineId',$list2,$list,array('class' => 'test' ));
提前致谢。
答案 0 :(得分:7)
如果要添加同一个类,则应使用itemOptions
:
echo Html::checkboxList('CuisineId', $list2, $list, ['itemOptions'=>['class' => 'test']]);
或者,如果您想为每个项目设置自定义类,则应使用项目回调:
echo Html::checkboxList('CuisineId', $list2, $list, ['item'=>function ($index, $label, $name, $checked, $value){
return Html::checkbox($name, $checked, [
'value' => $value,
'label' => $label,
'class' => 'any class',
]);
}]);
了解详情:http://www.yiiframework.com/doc-2.0/yii-helpers-basehtml.html#checkboxList()-detail
编辑:添加示例
答案 1 :(得分:1)
以防万一,您只需要更改标签选项:
<?= Html::checkboxList('CuisineId', $list, $items, [
'itemOptions' => [
'labelOptions' => [
'style' => 'font-weight: normal',
'class' => 'some-custom-class',
],
],
]) ?>
注意:创建每个复选框时,您放置在itemOptions
中的所有内容将作为其自己的选项传递到Html::checkbox()
。这意味着您可以传递class
,style
,label
,labelOptions
等。