JS限制复选框(填报)选中个数
1. 描述
对于制作类似于调查问卷的填报模板,可能会需要限制复选框组选中的个数,如限制复选框的个数为2个,若超过2个就则将所有选中的值清空或者只清空超出的部分,下面我们来介绍下制作方法。
2. 思路
通过JS获取当前单元格的值,然后通过length属性判断长度并进行操作。
3. 操作步骤
下面我们将复选框组的控件设置在A1单元格中,并且数据是自定义的A,B,C,D,如下图:

3.1 清空所有选中的数据
1)增加JS事件给复选框组控件增加状态改变事件,如下图:

var value = this.getValue(); //获取当前控件的值
if(value.length>2){ //判断当前单元格的值的长度是否超过2个
alert("长度为"+value.length+",超过最大长度2了!");
this.reset(); //将数据重置即清空选中的数据
}
注:也可以使用this.setValue("");来清空数据。
2)效果查看
2)效果查看
点击填报预览,选中3个复选框的值会弹出“超出最大长度2”,点击确定后,数据清空。
3.2 只清空超出的部分
1)修改上面的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个复选框的值会弹出“超出最大长度2”,点击确定后,只清空了第三个选中的数据。
4. 预览效果
4.1 PC端预览效果
1)清空所有
2)清空超出部分
4.2 移动端预览效果
清空所有:
注:不支持清空超出部分的js。
5. 已完成模板
1)清空所有
模板效果在线查看请点击:JS限制复选框(填报)选中个数示例一.cpt
已完成的模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\JS\填报预览JS实例\51-JS限制复选框(填报)选中个数示例一.cpt
2)只清空超出部分
模板效果在线查看请点击:JS限制复选框(填报)选中个数示例一.cpt
已完成的模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\JS\填报预览JS实例\51-JS限制复选框(填报)选中个数示例一.cpt
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)