## addCheckbox('name值', '标题', '提示', '数据项' [, '默认值', ' 属性', '额外属性', '额外css类']) 标识符:`checkbox` | 参数 | 含义 | 类型 | | --- | --- | --- | | name | name值 | string | | title | 标题 | string | | tips | 提示 | string | | options | 数据项 | array | | default | 默认值 | string | | attr | 属性 | array | | extra_attr | 额外属性 | string | | extra_class | 额外css类 | string | ### 一个简单的复选框 ~~~ return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']) ->fetch(); ~~~ ![](https://box.kancloud.cn/03c4c36bbff86ec399cd1b9db8af6f4c_254x145.png) ### 带默认值的复选框 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, 'gz') ->fetch(); ~~~ 也可以同时选中多个 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, 'gz,sh') ->fetch(); ~~~ ![](https://box.kancloud.cn/de93fbf585601f29f3e600a3672f6ea2_274x164.png) 或者使用数组的方式,都是一样的 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, ['gz', 'sh']) ->fetch(); ~~~ ### 定义复选框的属性 可以设置复选框的颜色、尺寸、形状 #### 颜色(color) * `primary` (默认) * `default` * `info` * `success` * `warning` * `danger` ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '请选择城市', $list_city, ['gz', 'sh'], ['color' => 'danger']) ->fetch(); ~~~ ![](https://box.kancloud.cn/7524047f374333b7efae85d0c3dc65bf_239x102.png) #### 尺寸(size) * `sm` (默认) * `nm` * `lg` ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', ['size' => 'lg']) ->fetch(); ~~~ ![](https://box.kancloud.cn/ddfa373fcac78db6cdd5327a5148578d_252x94.png) #### 形状(shape) * `rounded` (默认) * `square` ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', ['shape' => 'square']) ->fetch(); ~~~ 三种属性可以一起使用 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', ['color' => 'danger', 'size' => 'lg', 'shape' => 'square']) ->fetch(); ~~~ ### 添加额外属性 比如默认为禁用状态 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', '', 'disabled') ->fetch(); ~~~ ### 添加额外css类 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city, '', '', '', 'active') ->fetch(); ~~~ >[info] 这里添加的css类是自定义的,有特殊要求时才需要,请根据实际开发来决定 ### 保存数据 保存数据的时候,服务器接收到的值是一个数组,比如 ~~~ $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海']; return ZBuilder::make('form') ->setPageTitle('添加') ->addCheckbox('city', '选择城市', '', $list_city) ->fetch(); ~~~ 在页面上选择了广州和深圳,那么服务器接收数据 ~~~ $data = $this->request->post(); ~~~ 其中,`$data['city']`的值是一维数组 ~~~ array('gz', 'sz'); ~~~ 那么我们需要用`implode()`方法处理下再保存到数据库 ~~~ $data = $this->request->post(); $data['city'] = implode(',', $data['city']); ~~~