复选

addCheckbox('name值', '标题', '提示', '数据项' [, '默认值', ' 属性', '额外属性', '额外css类'])

标识符:checkbox

参数含义类型
namename值string
title标题string
tips提示string
options数据项array
default默认值string
attr属性array
extra_attr额外属性string
extra_class额外css类string

一个简单的复选框

  1. return ZBuilder::make('form')
  2. ->setPageTitle('添加')
  3. ->addCheckbox('city', '选择城市', '', ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'])
  4. ->fetch();

复选 - 图1

带默认值的复选框" class="reference-link">带默认值的复选框

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '请选择城市', $list_city, 'gz')
  5. ->fetch();

也可以同时选中多个

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '请选择城市', $list_city, 'gz,sh')
  5. ->fetch();

复选 - 图2

或者使用数组的方式,都是一样的

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '请选择城市', $list_city, ['gz', 'sh'])
  5. ->fetch();

定义复选框的属性" class="reference-link">定义复选框的属性

可以设置复选框的颜色、尺寸、形状

颜色(color)" class="reference-link">颜色(color)

  • primary (默认)
  • default
  • info
  • success
  • warning
  • danger
  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '请选择城市', $list_city, ['gz', 'sh'], ['color' => 'danger'])
  5. ->fetch();

复选 - 图3

尺寸(size)" class="reference-link">尺寸(size)

  • sm (默认)
  • nm
  • lg
  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '', $list_city, '', ['size' => 'lg'])
  5. ->fetch();

复选 - 图4

形状(shape)" class="reference-link">形状(shape)

  • rounded (默认)
  • square
  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '', $list_city, '', ['shape' => 'square'])
  5. ->fetch();

三种属性可以一起使用

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '', $list_city, '', ['color' => 'danger', 'size' => 'lg', 'shape' => 'square'])
  5. ->fetch();

添加额外属性" class="reference-link">添加额外属性

比如默认为禁用状态

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '', $list_city, '', '', 'disabled')
  5. ->fetch();

添加额外css类" class="reference-link">添加额外css类

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '', $list_city, '', '', '', 'active')
  5. ->fetch();

这里添加的css类是自定义的,有特殊要求时才需要,请根据实际开发来决定

保存数据" class="reference-link">保存数据

保存数据的时候,服务器接收到的值是一个数组,比如

  1. $list_city = ['gz' => '广州', 'sz' => '深圳', 'sh' => '上海'];
  2. return ZBuilder::make('form')
  3. ->setPageTitle('添加')
  4. ->addCheckbox('city', '选择城市', '', $list_city)
  5. ->fetch();

在页面上选择了广州和深圳,那么服务器接收数据

  1. $data = $this->request->post();

其中,$data['city']的值是一维数组

  1. array('gz', 'sz');

那么我们需要用implode()方法处理下再保存到数据库

  1. $data = $this->request->post();
  2. $data['city'] = implode(',', $data['city']);