JS实现填报分页下复选框全选

我是社区第485122位番薯,欢迎点我头像关注我哦~
1. 概述
1.1 问题描述

在填报应用中,如果数据量大的话,会用到填报分页,此时若是在填报中需要用到复选框全选控件,那么使用普通的 JS 实现复选框控件全选就不适用了,如下图,只会全选当页的数据:


如何实现填报分页下也可以使用所有页面的全选呢,如下效果:


1.2 实现思路

因为普通的 JS 是通过检测当前页面的控件,然后进行全选或全不选,当使用分页时,JS 不会对未加载的页面生效,所以不适用。需要用到动态参数来对控件进行赋值。


2. 示例2.1


打开模板

打开模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\WidgetExample\CheckBoxSelectAll.cpt


2.2 修改模板

1)在 A2 单元格设置条件属性-分页,分页公式为&C2 % 5 ==0:

2)设置第 1 行为重复标题行:

3)添加模板参数 select:


4)设置 2 个复选框控件的值都为公式 =$select。

5)右击 J1 单元格添加超链接,新增动态参数:

6)将 A1 全选复选框的状态改变后事件修改如下:


代码如下:


  1. setTimeout(function(){
  2.         $('td[id^=J1').children(".linkspan").click();
  3. },50);
复制代码

2.3 预览效果

保存,进行填报分页预览,预览时地址栏后面加上&__cutpage__=v,PC 端实现效果下图所示:


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


3. 模板下载

模板效果在线查看请点击:JS 实现填报分页下复选框全选.cpt

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\36-JS实现填报分页下复选框全选.cpt

点击下载模板:36-JS实现填报分页下复选框全选.cpt




编辑于 2020-12-7 09:37  

发表于 2020-12-17 09:49:25
老师,这个按你的设置后,如果要再增加一个按钮,把所有勾选的批量删除怎么操作?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1回帖数 4关注人数 5542浏览人数
最后回复于:2020-12-17 09:49

返回顶部 返回列表