JS实现自由式填报表动态显示/隐藏行

编辑
文档创建者:yiyemeiying (78157 )     浏览次数:2545次     编辑次数:7次     最近更新:ukae 于 2018-08-10     

目录:

1. 描述编辑

用户在进行报表填报数据时,有时候填报的内容行可能很多,需要通过滚动条上下拖动才能完成。而有些填报内容为选填,用户希望隐藏选填选填的内容。当用户需要填该部分内容的时候,再显示该部分内容。实现效果如下图:

222

2. 思路编辑

通过给下拉框控件添加【编辑后】JS事件来实现行的隐藏和显示。

3. 操作步骤编辑

3.1 模板设置

打开模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeForm\填报联动.cpt

修改模板中的单元格样式及内容,在C12单元格直接录入“不设置”作为控件的初始值,如下图:

222

3.2 控件设置

在C12单元格中添加下拉框控件,切换到数据字典,在类型设置中选择自定义,然后添加“设置”和“不设置”两组值。

222

3.3 添加事件

选中C12下拉框控件,添加“编辑后”事件,如下图所示:

222

//获取当前控件的值 var a=this.getValue(); //如果‘设置’则显示,如果‘不设置’则隐藏 if(a=="设置") { document.getElementById('r-12-0').style.display = ''; document.getElementById('r-13-0').style.display = ''; } else { document.getElementById('r-12-0').style.display = 'None'; document.getElementById('r-13-0').style.display = 'None'; }

选择模板>模板web属性>填报页面设置,添加“加载结束”事件,设置页面默认样式(隐藏教育经历部分),如下图所示:

222

//页面加载结束后,隐藏教育经历部分 document.getElementById('r-12-0').style.display = 'none';//隐藏第13行 document.getElementById('r-13-0').style.display = 'none';//隐藏第14行

4. 预览效果编辑

4.1 PC端预览效果

222

4.2 移动端预览效果

注:此JS不支持移动端使用

5. 已完成模板编辑

模板效果在线查看请点击:JS实现自由式填报表动态显示或隐藏行.cpt
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\31-JS实现自由式填报表动态显示或隐藏行.cpt


附件列表


主题: 二次开发
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗? [ 去社区提问 ]