yii2复选框列表自定义类

yii2复选框列表自定义类,yii2,Yii2,这是来自Yii2 checkboxList的示例代码,我想为checkboxList中的每个项目添加自定义类,但我不知道如何以及在何处添加它 你能帮帮我吗 $list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript']; $list2 = [0,2]; echo Html::checkboxList('CuisineId',$list2,$list,array('class' => 'test' )); 提前感谢。如果要添加

这是来自Yii2 checkboxList的示例代码,我想为checkboxList中的每个项目添加自定义类,但我不知道如何以及在何处添加它
你能帮帮我吗

$list = [0 => 'PHP', 1 => 'MySQL', 2 => 'Javascript'];
$list2 = [0,2];

echo Html::checkboxList('CuisineId',$list2,$list,array('class' => 'test' ));

提前感谢。

如果要添加相同的类,应使用
itempoptions

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',
    ]);
}]);
阅读更多:


编辑:添加示例,以防您只需要更改标签选项:

<?= Html::checkboxList('CuisineId', $list, $items, [
    'itemOptions' => [
        'labelOptions' => [
            'style' => 'font-weight: normal',
            'class' => 'some-custom-class',
        ],
    ],
]) ?>


注意:在创建每个复选框时,您放入
itemOptions
中的所有内容都将作为自己的选项传递给
Html::checkbox()
。这意味着您可以通过
样式
标签
标签选项
,等等。

非常感谢您当前的重播,但能否给我一个使用此功能的示例?我昨天在yii2 API文档中看到了这一点。。我只想为每个项目添加不同的类。。我必须为每个项目编写自定义函数?请告诉我如何为每个项目添加类。。非常感谢您的精彩回放。您只需要一个函数,看看我的示例和文档。我猜不出“我只想给每个项目添加不同的类”的背后是什么。非常好!我使用$index变量创建自定义类名!非常感谢你!“'class'=>'woshiClass'.$index”,这对于为复选框标签应用样式来说非常有效。非常感谢。