YII2中checkboxList的使用说明

  • A+
所属分类:Web开发

在YII2中使用checkboxList是一个很苦逼的事情,不到万不得已的时候,我真的不想用这个组件。

先说下实战场景:我需要在一个表单当中,让指定的字段(这个字段与当前的表单不是一个表)可以显示多选框,并且可以根据变化随时存储到中间表中。

那么下面开始实战:

首先我们需要在对应的model当中添加自定义字段,因为我们的这个字段与当前的model不是一个表,所以这里我们不能写到attributes里面

我们在一开始的时候定义一个字段

然后我们需要在rules里面添加我们的校验规则,checkboxList一看就是个数组吗,而且我们也定义了数组,所以我们的代码如下:

说明:each表示前面的字段是需要遍历的,后面的integer表示这个值只接受整数型。

然后我们在attributeLabels里面添加好显示的对应关系

然后我们还需要处理一下afterFind,让他可以在form表单中正常显示。

既然查询有了,那保存也不能少。

保存后的方法(afterSave)我们需要修改为如下的内容, 集成父类的方法后,并添加处理对应表关系的方法

增删改查都可以了,为了美观,我把view的视图也修改了一下。

截图演示走一波:

首先我们创建一个分类

YII2中checkboxList的使用说明

然后我们看一下勾选是否生效

YII2中checkboxList的使用说明

下面修改一下

YII2中checkboxList的使用说明

也没有问题

YII2中checkboxList的使用说明

这样整体的效果就出来了。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: