前端的jsp中有一个表格,内容是在数据库中查询到结果,表格每一行的首列都是一个复选框,现在想实现的是用复选框批量获取表格的行的内容,并将其进行数据库处理。请问如何在服务器端端servlet中获取前端jsp复选框选中的行的其他列的值?

解决方案 »

  1.   

    看了你之前发的帖子,checkbox是有value值的,这个应该和每行的主键关联,选中之后传到后台就能得到你的订单号(主键),而不是把这行其他所有列值全部获取
      

  2.   

    jsp获取到选中的复选框,后台用下面的接受。
    String check_val=request.getParameter("check_val");
      

  3.   

    你给checkbox都加上value,这个value就是每一条数据的唯一标识,比如id,然后在这个jsp页面加上一个按钮或者别的触发事件,写一个函数,这个函数类似于这样:function ckAll(){
    //我的这个chk就是checkbox的name
     var cks=document.getElementsByName("chk");
     //选中的checkbox
     var str="";
     //拼接所有的角色id
     for(var i=0;i<cks.length;i++){
     if(cks[i].checked){
     str+=""+cks[i].value+""+",";
     }
     }
     //去掉字符串末尾的','
     str=str.substring(0, str.length-1);
    window.location.href="你的后台action?chk="+str;
    }这样所有选择的数据都以string类型传到了后台,后台接受后在解析什么的就好办了
      

  4.   

    现在想做的是向数据库里添加数据的jsp,在jsp里的表格的后边几列都是文本框手填进去的,然后把这些内容传到后台添加到数据库,该咋整
      

  5.   

    先判断checkbox选择了哪些行,分别获取这些行的数据,这些文本框的name或者id应该要有规律。
    比如id=abc那行,还有个字段年龄age,则该文本框<input type="text" id="age_abc" name="age">
    通过复选框获取到abc的值之后,age的内容就是document.getElementById("age_abc").value
    如果有多个文本框就要拼接string或json对象等传到后台
      

  6.   

    我看你的代码是把CheckBox的value值写成字符串传递到了后台,我想把CheckBox选中的这一行的所有列的值都传过去,该怎么办?
      

  7.   

    我看你的代码是把CheckBox的value值写成字符串传递到了后台,我想把CheckBox选中的这一行的所有列的值都传过去,该怎么办?你最好是只传id,然后到后台之后再重新检索一下
      

  8.   

    String [] values=request.getParameterValues("name");
    前端页面的复选框name要相同
      

  9.   

    我看你的代码是把CheckBox的value值写成字符串传递到了后台,我想把CheckBox选中的这一行的所有列的值都传过去,该怎么办?你最好是只传id,然后到后台之后再重新检索一下谢谢大神,传值已经完成了现在还想问问大神,因为我的表格提交页面是数据库检索出来好多行,写两行提交一下,再写两行再提交一次。现在用window.location.href的方法传值之后会跳转到servlet的页面,有没有不跳转页面还能传值的解决方案呢?
      

  10.   

    4楼的没毛病啊.后台的servlet用数组接收. 全选的话应该是删除用的吧. 可以在Dao层用删除多行的sql语句.
      

  11.   

    那你前台用window.location.href调用的是后台的action方法,那就在你的后台的这个方法返回的页面还是本页面就好了啊,这样就做到只刷新页面