报表获取复选框选中行的值
有些时候客户的页面上会用到报表的复选框控件,需要客户在页面上选取自己需要的记录,然后通过点击页面上的按钮或者超链接,把页面上选中的记录传递到其他页面或者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出来了,这样就实现了需求,获取到复选框选中行的值。