关于Yii2的checkboxList的初始选项设置问题

先在网上找了个checkboxList的描述:

public static function checkboxList($name, $selection = null, $items = [], $options = [])

下面我们一一说明其中的参数及使用

$name——设置checkbox的name
字符串,这个用来设置生成的每个checkbox的name值,因为是生成多个checkbox,所以$name的值要以[]结尾,如果没有的话在函数内部会自动加上[]

$selection——设置checkbox是否选中
字符串或者数组,这个用来设置哪些checkbox为选中状态,值为checkbox中的value;如果需要多个checkbox选中那么就用数组的形式来传递多个值,如[‘a‘,‘b‘,‘c‘]

$items——设置多个checkbox的数据源
数组,这个用来生成各个checkbox的数据源,其中键作为checkbox的value,值作为checkbox的label

$options
数组,这个比较复杂,里面的参数比较多,其中有几个固定的参数:

  • tag:字符串,设置生成的所有的checkbox的容器标签,默认为div
  • unselect:字符串,当checkbox都没有选择的时候的默认值。如果设置这个,会自动生成一个以name(不带[])为名称的hidden类型的input,这个input的值就为unselect
  • encode:布尔值,设置每个checkbox的label是否需要编码,默认为true
  • separator:字符串,生成的每个checkbox html代码之间的连接字符串,默认为 \n,也就是说默认生成的checkbox都是一行一个。
  • itemOptions:数组,生成每个checkbox的参数选项。这个在单独介绍checkbox函数的时候说明
  • item:回调函数,在循环生成每个checkbox表单的时候,会调用这个函数。如果设置了则使用返回值作为checkbox的表单,否则使用static::checkbox函数来生成每个checkbox表单,函数格式为:
    1. function ($index, $label, $name, $checked, $value)

在使用activeform时,一般格式是这样的

echo $form->field($model, ‘size‘)->checkboxList(name,$model->allSize);

size相当于$selection

allSize相当于$items

关键在于size的格式,size需要存放键值的数组,例如$items是(0=>‘X‘,1=>‘XL‘,2=>‘2XL‘);我们想选的是1和2,那$selection就需要是(0=>1,1=>2);

如果直接传(1=>‘XL‘,2=>‘2XL‘);会出错,可以使用array_keys()转换一下。

时间: 2024-09-30 15:59:20

关于Yii2的checkboxList的初始选项设置问题的相关文章

CSAPP读书随笔之一:为什么汇编器会将call指令中的引用的初始值设置为-4

CSAPP,即<深入理解计算机系统:程序员视角>第三版,是一本好书,但读起来确需要具备相当的基本功.而且,有的表述(中译文)还不太直白. 比如,第463页提到,(对于32位系统)为什么汇编器会将call指令中的引用的初始值设置为-4.其后解释语焉不详.结合文中对代码计算公式的展开: *refptr = (unsigned) (ADDR(r.symbol) + *refptr - refaddr) = (unsigned) (0x80483c8        + (-4)     - 0x804

仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)

转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出来,给学习duilib布局的朋友做个demo.现在编写的仿酷狗选项设置窗体和原酷狗的窗体不细看几乎看不出差别,控件的布局位置和原酷狗最多只有几个像素的位置差别. 先来看一下原酷狗的选项设置窗体的其中一个页面: 如果还不太会布局的朋友可以先看我前些日子写的关于duilib布局的博客<duilib各种布

Navicat for MySQL 选项设置技巧详解

Navicat for MySQL给用户提供了完整的用户自定义设置界面选项,从主菜单选择工具->选项,但是很多的用户第一次接触,对这方面如何设置不是很了解,本教程将详细的给大家介绍介绍Navicat for MySQL 选项设置技巧详解.希望可以帮到大家. Navicat for MySQL 常规选项 Navicat 常规选项主要包括以下内容: 窗口在工作列显示:每打开一个新窗口时会自动显示在 Windows 任务栏.停用该选项后,当退出 Navicat 主窗口时,所有窗口(例如:表.查询)将会

调整Office密码破解软件的选项设置方法

Advanced Office Password Recovery是一款专业的Office密码破解工具,在其"选项卡"上可以调整一般的通用设置,本文将教你怎样设置Advanced Office Password Recovery的选项卡. 选项设置 1.通过"设备管理器" 按钮可以选择用于密码破解的硬件数量.在默认情况下,AOPR可以调用所有有效的CPU和显卡以达到最佳性能,但用户也可以在设备管理器中禁用某些CPU和GPU. 2.勾选"启用调试日志&quo

调整Office密码破解软件的选项设置的方法

Advanced Office Password Recovery是一款专业的Office密码破解工具,在其"选项卡"上可以调整一般的通用设置,本文将教你怎样设置Advanced Office Password Recovery的选项卡. 选项设置 1.通过"设备管理器" 按钮可以选择用于密码破解的硬件数量.在默认情况下,AOPR可以调用所有有效的CPU和显卡以达到最佳性能,但用户也可以在设备管理器中禁用某些CPU和GPU. 2.勾选"启用调试日志&quo

Mac OS平台的Premiere Pro怎样配置首选项设置(一)?

Premiere Pro CC 2018 Mac版是一款编辑画面质量比较好的软件,有较好的兼容性,且可以与adobe公司推出的其他软件相互协作!小编今天就此款软件的"首选项配置"问题,为大家详细讲解一下.了解如何针对几个方面(从外观到播放.音频以及更多)配置首选项设置,充分利用 Premiere Pro 的功能. 您可以自定义 Premiere Pro 的外观和行为,从确定过渡的默认长度到设置用户界面的亮度.其中大部分首选项一直有效,直至更改它们.但是,为暂存盘设置的首选项将随项目一起

Mac OS平台的Premiere Pro怎样配置首选项设置(二)?

Adobe Premiere Pro CC 2018 Mac版是Adobe为Mac OS平台推出的一款常用的视频编辑软件,Adobe Premiere Pro CC 2018 Mac版是一款编辑画面质量比较好的软件,有较好的兼容性,且可以与adobe公司推出的其他软件相互协作,小编今天就此款软件的"首选项配置"问题,为大家详细讲解一下. 采集首选项 控制Premiere Pro直接从磁带盒或摄像机传输视频和音频的方式.(任何其他项目设置选项都不影响采集.)此面板的内容取决于编辑模式.如

下拉选项设置数据的三种方式介绍

度量快速开发平台中,在智能窗体上拖入下拉选择,可以实现很多功能.比如制作查询条件,选择数据等. 方法1:直接在下拉选择右边属性中设置数据. 使用效果: 该方法设置简答,对于那种是固定数据的设置,可以采用这样的效果实现.下拉选项1.Value   与 下拉选项1.SelectedText 获取的值都一样. 方法2:用下拉选项的SetItems方法实现 下拉选项1.SetItems("A,B,C,D",false) 效果与方法一一样,这个方法可以动态的来设置数据,比如根据不同的条件设置不同

C#遍历得到checkboxlist选中值和设置选中项

得到选中项的value值并拼接成一个字符串返回 public string GetChecked(CheckBoxList checkList, string separator) { string str = ""; for (int i = 0; i < checkList.Items.Count; i++) { if (checkList.Items[i].Selected) { str += checkList.Items[i].Value + separator; }