JS获取复选框选中行的单元格值
1. 描述
对于填报模板,如何获取某些单元格的数据,如下图所示,希望获取复选框选中的那几行中的值,然后做一些处理。

2. 思路
点击“对账”按钮时,使用js我们先获取到选中的复选框(被选中的复选框有一个class类x-checkbox-checkon)所在单元格td,从而获取复选框所在行tr,然后取得行中地区,销售额以及收入所在单元格的值,并将这些值保存进预定义好的数组中,这样我们就可以引用最终的数组来引用所需的数据了。
根据模板是否设置冻结,其获取复选框选中行单元格的方式有所不同,下面我们分开介绍。
3. 操作步骤
3.1 没设置冻结效果的模板
1)模板设计如下:

3)设置B4单元格的控件类型为按钮,按钮类型为普通,按钮名称为对账,然后给按钮增加点击事件

var products = [];
var ordernums = [];
var ordernums1 = [];
var $span = $('.fr-checkbox-checkon'); //获取选中的复选框
var $tds = $("td").has($span); //定义选中复选框的单元格
var $trs = $("tr").has($tds);
for(var i=0; i<$trs.length;i++){
var product = $("td:eq(2)",$($trs[i])).html(); //获取选中的C3单元格的值
products.push(product); //将选中的值放到数组中
var ordernum = $("td:eq(3)",$($trs[i])).html(); //获取选中的D3单元格的值
ordernums.push(ordernum);
var ordernum1 = $("td:eq(6)",$($trs[i])).html(); //获取选中G3单元格的值
ordernums1.push(ordernum1);
}
alert(products + "\n" + ordernums + "\n" + ordernums1);
4)保存模板,并点击填报预览,选中若干行,点击对账按钮,即可看到选中的对应单元格的值弹出显示了,如下图:

3.2. 设置了冻结效果的模板
1)打开上述已经制作好的模板,点击
,在 模块设置冻结行列,如下图:

var products = [];
var ordernums = [];
var ordernums1 = [];
var $span = $('.fr-checkbox-checkon');
var $tds = $("td").has($span);
var $trs = $("tr").has($tds);
for(var i=1; i<$trs.length;i++){
var row = $("td:eq(0)",$($trs[i])).attr("row");
products.push(contentPane.getCellValue(2,row));
ordernums.push(contentPane.getCellValue(3,row));
ordernums1.push(contentPane.getCellValue(6,row));
}
alert(products + "\n" + ordernums + "\n" + ordernums1);
3)点击填报预览,即可看到如上图没设置冻结属性时的效果。
4. 预览效果
4.1 PC端预览效果
4.2 移动端预览效果
注:经测试,移动端不支持该js
5. 已完成模板
1)未设置冻结
模板效果在线查看请点击:JS获取复选框选中行的单元格值示例一.cpt
已完成的模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\JS\填报预览JS实例\52-JS获取复选框选中行的单元格值示例一.cpt
2)设置了冻结
模板效果在线查看请点击:JS获取复选框选中行的单元格值示例二.cpt
已完成的模板,可参见:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\JS\填报预览JS实例\52-JS获取复选框选中行的单元格值示例二.cpt
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)