yii2 checkboxList自定义类

时间:2014-12-15 08:34:17

标签: yii2

以下是来自Yii2 checkboxList的示例代码,我想在checkboxList中为每个项添加自定义类,但我不知道如何以及在哪里可以添加它! 请你帮帮我..

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

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

提前致谢。

2 个答案:

答案 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()。这意味着您可以传递classstylelabellabelOptions等。