JS限制复选框(填报)选中个数

目录:

1. 问题描述

对于制作类似于调查问卷的填报模板,可能会需要限制复选框组选中的个数,如限制复选框的个数为2个,若超过2个就则将所有选中的值清空或者只清空超出的部分,下面我们来介绍下制作方法。

2. 实现思路

通过JS获取当前单元格的值,然后通过length属性判断长度并进行操作。

3. 示例

下面我们将复选框组的控件设置在A1单元格中,并且数据是自定义的A,B,C,D,来分别看下清空所有选中数据以及将超过的部分清空的制作方法。

3.1 清空所有选中的数据

1)增加JS事件
给复选框组控件增加状态改变事件,具体的JS如下:
var value = this.getValue();    //获取当前控件的值   if(value.length > 2){    //判断当前单元格的值的长度是否超过2个   alert("长度为"+value.length + ",超过最大长度2了!");       this.reset();   //将数据重置即清空选中的数据   }
注:也可以使用this.setValue("");来清空数据。
2)效果查看
点击填报预览,选中3个复选框的值会弹出如下对话框:

222

点击确定,所有选中的数据都被清空了,如下图所示:

222

3.2 只清空超出的部分

1)修改JS
将上面的JS修改为:
var value = this.getValue(); var oldvalue = contentPane.curLGP.getCellValue("A1"); //获取A1单元格的值 if(value.length > 2){ alert("长度为"+value.length + ",超过最大长度2了!"); this.setValue(oldvalue); //将A1单元格的值设置为原来选中的值 }
2)效果查看
点击填报预览,选中3个复选框的值会弹出如下对话框:

222

点击确定,可以看到只清空了第三个选中的数据,如下图所示:


222

附件列表


主题: 二次开发
标签: 已验证

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)