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

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

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

第二步:在jsp中写一个获取页面上复选框状态的jsjs的内容如下,关于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出来了,这样就实现了需求,获取到复选框选中行的值。

热门文章