原先做的后台管理只能进行单个删除只要是通过传递参数给action执行<td><a href="Action?id=<%=user.getId()%>&action=delete"  onclick="return confirm('是否将该条记录删除?')">删除</a></td> 现在想添加一个复选框checkbox实现批量删除比如复选框checkbox名字叫pl初步想法是把结果拼接成字符串通过a href传到后台执行操作然后后台执行sql语句
delect from user where id in (字符串)
但是具体实现代码不是很懂,求指导。。

解决方案 »

  1.   

    直接form提交
    后台
    String[] ids = request.getParameters("pl");
    这样就可以获所有选中的checkbox的value
    然后拼成 "id, id, id," 这样的字符串
      

  2.   

    传个id数组到后台, 可以循环逐个删除 也可以用in 但是in效率不高。
      

  3.   

    如果不用submit提交,直接用a herf 传递到action的话要怎么实现,能有点参考代码最好谢谢
      

  4.   


    是一样的道理你为a标签添加个点击事件,先获取数组,再请求后台并传参数(ajax是个不错的选择),然后等待响应以后刷新页面
      

  5.   

    前台:
    <a href="javaScript:void(0);"  onclick="submit()">批量删除</a>
    function submit(){
       表单名.action="Action";
       表单名.submit();
    }后台:
      String[] ids = request.getParameters("pl");
    这样就可以获所有选中的checkbox的value
    然后拼成 "id, id, id," 这样的字符串
      

  6.   

    这其实很简单...
    jquery 得到复选框的值, 这是一个数组..你把这个数组用逗号隔开,传到后台,直接在 in 里面操作ol....
      

  7.   

    checkbox的value属性是要删除的记录ID值,然后,在点击批量删除这个按扭,你肯定弹个对话框出来,在这里你循环获取已选中的checkbox的value并以,分隔,最后在把最后一个,给截掉,然后在传给action,这样就可以直接用来delete了,对吧!见代码:function del(action) {
    var chk = document.getElementsByName("ids");
    var i = 0, count = 0, value = "" ;
    for (i; i < chk.length; i++) {
    if (chk(i).checked) {
    count++;
    value += chk(i).value + ",";
    }
    } if (count == 0) {
    alert("请至少选择一条记录进行操作!");
    return false;
    }
    if (!confirm("删除后的数据将不可恢复!\n确定要删除所选中的记录吗?")) {
    return false;
    }
    value = value.substring(0,value.lastIndexOf(","))
    document.frm.action = action+ "&id=" + value;
    document.frm.method = 'post';
    document.frm.submit();
    return true; 
    }