java批量删除checkbox中选中的对象
这是我jsp页面的代码
<script type="text/javascript">
function deleteAll() {
var flag = false;
var deId = document.getElementsByName("usId");
for (var i = 0; i < deId.length; i++) {
if (deId[i].checked) {
flag = true;
}
}
if (!flag) {
alert("请选择需要删除的用户!");
return ;
}
if (window.confirm("确认删除吗?")) {
return true;
}return false;
}
</script>
方法
public boolean deleteAllUsers(Integer id){
String hql = "from User user where id = "+id;
List<User> list = (List<User>)this.getHibernateTemplate().find(hql);
if(list!=null){
this.getHibernateTemplate().deleteAll(list);
return true;
}else {
return false;
}
}
怎样才能从jsp页面传值到DAO呢?但我觉得自己写的这个方法好像也有点错误?
[解决办法]
你写的Js如果只有一条记录的时候肯定会有问题的,因为此时的多选框已经不是数组了,贴一下我写的,我的实现是将所要删除的id用冒号分隔,然后传给后台
function deleteCompany() { var ids = document.fom.ids; var result = ""; if (typeof (ids) != "undefined") { if (typeof (ids.length) != "undefined") { for ( var i = 0; i < ids.length; i++) { if (ids[i].checked) { result += ids[i].value + ";" } } result = result.substring(0, result.length - 1); } else { if(ids.checked) result = ids.value; } } if (result == "") { alert("请选择要删除的记录"); } else { window.location.href = "company_delete.action?ids="+result+"&&groupType=${groupType}"; }}