报表获取复选框选中行的值

些时候客户的页面上会用到润乾报表的复选框控件,需要客户在页面上选取自己需要的记录,然后通过点击页面上的按钮或者超链接,把页面上选中的记录传递到其他页面或者servlet 里面,下面就具体介绍一下,如何使用 js 获取到哪些行被选中了,然后得到这一行某个字段的记录。

第一步:制作一张有复选框的报表,报表的样式如下图所示, A2 单元格为复选框:

第二步:在 jsp 中写一个获取页面上复选框状态的 js js 的内容如下,关于 js 的说明可以参考一下代码的注释:

function selcheck() {

var values=”";

var objs = report1.getElementsByTagName(“input”);// 获取页面上的 input

for(var i=0; i<objs.length; i++) {// 循环遍历获取到的 input

if(objs[i].type.toLowerCase() == “checkbox”&&objs[i].checked==true){// 判断 input 的类型 // 是复选框,并且已经被选中

var cellId = objs[i].parentNode.id;// 获取复选框所在单元格的 id

var newCellId = cellId.replace(“A”,”B”);// 这里因为要获取 B 列的数据,而 A 列是 // 复选框所在列,所以通过直接替换单元格 id 的字母,就可以取到 B 列对应格的 id

var value = document.getElementById(newCellId).value;// 获取 B 列对应单元格的值

values = values+” “+value;

}

}

alert(values);// 将获取到的值 alert 出来

}

然后在页面上增加一个按钮,调用上面的 js

<input type=”button” value=”dm” onclick=”javascript:selcheck()”>

第三步:使用 jsp 发布上面的报表,查看效果

在页面随便选中几行,如下图所示:

点击页面上的 dm 按钮,可以看到如下图的效果:

被选中行的 B 列值都被 alert 出来了,这样就实现了需求,获取到复选框选中行的值。

热门文章