当前位置: 代码迷 >> Java Web开发 >> 问个关于复选框的有关问题。
  详细解决方案

问个关于复选框的有关问题。

热度:2097   发布时间:2013-02-25 21:17:49.0
问个关于复选框的问题。。
原先做的后台管理只能进行单个删除。。。

只要是通过传递参数给action执行

Java code
<td><a href="Action?id=<%=user.getId()%>&action=delete"  onclick="return confirm('是否将该条记录删除?')">删除</a></td> 




现在想添加一个复选框checkbox实现批量删除

比如复选框checkbox名字叫pl

初步想法是把结果拼接成字符串通过a href传到后台执行操作

然后后台执行sql语句
SQL code
delect from user where id in (字符串)



但是具体实现代码不是很懂,求指导。。。。。

------解决方案--------------------------------------------------------
探讨
引用:

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



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

谢谢

------解决方案--------------------------------------------------------
前台:
<a href="javaScript:void(0);" onclick="submit()">批量删除</a>
function submit(){
表单名.action="Action";
表单名.submit();
}

后台:
String[] ids = request.getParameters("pl");
这样就可以获所有选中的checkbox的value
然后拼成 "id, id, id," 这样的字符串
------解决方案--------------------------------------------------------
checkbox的value属性是要删除的记录ID值,然后,在点击批量删除这个按扭,你肯定弹个对话框出来,在这里你循环获取已选中的checkbox的value并以,分隔,最后在把最后一个,给截掉,然后在传给action,这样就可以直接用来delete了,对吧!见代码:
JScript code
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; }
  相关解决方案