-菜鸟求职,虽然也看到一些解决方法,但是没看懂-我在列表中添加了一列的复选框,不知道怎么获取,被选中行的id,并传到后台,然后执行删除操作。下面是我写的代码,求各位大神帮着下我这个小菜鸟吧: <script type="text/javascript">
deletBut = function(obj)
{
var formObj = document.getElementById("listId");
alert(formObj);
var tbody   = document.getElementById("planContId");
tbody.deleteRow(1);
//--------------
   for(var i=0;i<formObj.arrivedSXBerth.length;i++)
     if(formObj.arrivedSXBerth[i].checked){
      formObj.hidRowid=formName.hidRowid+formName.hidRid[i].value+"%";
     }
   }
//--------------    
alert(tbody);
formObj.action = "deletePlan";
formObj.submit();
}
addXH = function()
{
var tbody = document.getElementById("planContId");
var length= tbody.childNodes.length;
alert(document.onselect);
for(var i = 0 ; i < length ; i++)
{
tbody.childNodes
}
}
</script>
  </head>
  
  <body bgcolor="#FFFFE0" >
    <table bgcolor="#F7FAF9" border="1" align="center"  cellpadding="0" cellspacing="0" width="80%">
     <thead align="center" valign="middle" >
     <tr >
     <td align="center" colspan="6">计划列表</td>
     </tr>
     <tr>
     <td colspan="6" align="left">
     <form name = "form1" id="listId" action="MainAction">
     <input type="submit"  value="新增" name = "add"    id="add"/>
     <input type="button" onclick="deletBut();" value="删除" name = "delete" id="delete"/>
     <input type="button" onclick="addXH();" value="修改" name = "edit"   id="edit"/>
     </form>
     </td>
     </tr>
     </thead>
     <tbody id="planContId" >
     <tr>
     <td>序号</td>
     <td></td>
     <td>计划名称</td>
     <td>计划内容</td>
     <td>计划时间</td>
     <td>计划登记人</td>
     </tr>
    <c:forEach items="${listPlans}" var="superplan" varStatus="status">
     <tr bordercolor="#CBF7D7"  border="1"  >
     <td width="24px" align="center">${status.count}</td>
     <td width="24px"><input type="checkbox"/><input type="hidden" name=hidRid value=${superplan.planId}></td>
     <td width="24px">${superplan.planName}</td>
     <td width="24px">${superplan.planConten}</td>
     <td width="24px">${superplan.time}</td>
     <td width="24px">${superplan.userId}</td>
     <td style="display: none;">${superplan.planId}</td>
     </tr>
     </c:forEach>
     </tbody>
    </table>
  </body>

解决方案 »

  1.   

    String[] values=requst.getParameterValues("name");
    获取选中的值
    复选框的name的值要相同
      

  2.   

    不好意思 上面写错了 少个字母
    String[] values=request.getParameterValues("name");
      

  3.   

    在提交的到action 的方法里加上 String[] values=request.getParameterValues("name");
    这个"name"就是你复选框上name的名称啊。
      

  4.   

    LZ试试你JSP那个forEach那里,checkbox的位置加一个ID,ID的NAME可以check_box_?(?是你排列的行号,1,2,3...),然后在JAVASCRIPT里扫一下,有选中的都把ID放在一起,在调后台,6楼的方法也可以
      

  5.   

    <input type="checkbox"/>
    改成
    <input type="checkbox" name="ckId" value="${superplan.planId}"/>delbBut()这样改
    function deletes(){
    var id = document.getElementsByName("ckId");
    var i;
    var str = "";
    if(id.length != 0){
    for(i=0;i<id.length;i++){
    if(id[i].checked){
    str=str+id[i].value+";";
    }
    }
    if(str!=""){
    window.location.href = "删除所对应的Action?id=" + str;
    }else{
    alert("请先选择要删除的邮件");
    }
    }

    }
    然后在Action里面根据;来拆分,得到所用要删除的id,在进行删除