2017-01-11 21:25:22 0 评论 Yii 2.0 Boy.Lee

Yii2 中 checkbox list 中的项进行格式化

<?= Html::activeCheckboxList($model, 'yiilib_role', AuthRole::getAuthRoleList(), 
        [
            'tag'=>'ul', 
            'class'=>'role-select', 
            'item'=>function ($index, $label, $name, $checked, $value){
                $itemString = '';
            
                if ($index % 4 == 0) {
                    $itemString .= "<li>";
                }// 每4个项目放入一组li,这里为li开始的地方
                
                // set checked attribute
                if ($checked) {
                    $itemString .= "<label>
                        <input type='checkbox' name='$name' checked value='$value'>$label</label>";
                }else{
                    $itemString .= "<label>
                        <input type='checkbox' name='$name' value='$value'>$label</label>";                                                
                }
                
                // 每组li结尾的地方,同时为终了li结尾的地方
                if (($index+1) % 4 == 0 && $index != 0) {
                    $itemString .= "</li>";
                }else{
                    if (($index+1) == count(AuthRole::getAuthRoleList())) {
                        $itemString .= "</li>";
                    }
                }
                
                return $itemString;
            }
        ]); ?>