jsp标签代码:
<table class="table table-border table-bordered table-bg">
<thead>
<tr>
<th scope="col" colspan="10">管理员列表</th>
</tr>
<tr class="text-c">
<!--全选按钮 -->
<th width="25"><input type="checkbox" name="" id="allSelect" class="allSelect" value=""></th>
<th width="120">ID</th>
<th width="80">真是姓名</th>
</tr>
</thead>
<tbody>
<c:forEach items="${page.list}" var="user">
<tr class="text-c">
<td><input type="checkbox" value="${user.id }" name="id"></td>
<td>${user.id }</td>
<td>${user.userName}</td>
</tr>
</c:forEach>
</tbody>
</table>
js方法代码:
//删除所选中的管理员
function datadel(){
layer.confirm('确认要删除吗?',function(index){
// 获取所有选中的checked框
var option = $(":checked");
var checkedId = "";
var boo=true;
//拼接除全选框外,所有选中的id,
for (var i = 0, len = option.length; i < len; i++) {
if (boo) {
if (option[i].id=='allSelect') {
boo=true;
}else {
boo=false;
checkedId += option[i].value;
}
}else{
checkedId += ","+option[i].value;
}
}
$.ajax({
type: "post",
url:'${base}admin/doFalseDelete',
data : {
"checkedId":checkedId
},
dataType:"json",
success : function(map) {
parent.layer.msg(map.message,{icon: 6,time:1000});
setTimeout("serachFromSubmit()", 1000);
},error:function(code){
parent.layer.msg('操作失败!',{icon: 5,time:1000});
}
});
});
}
后台Control方法:
/**
* 逻辑删除所选中管理人员的id
*/
@RequestMapping("doFalseDelete")
@ResponseBody
public Map<String, Object> doFalseDelete(String checkedId){
Map<String, Object> map=new HashMap<String, Object>();
userService.falseDelete(checkedId);
map.put("message", "删除成功");
return map;
}
后台Service层:
int falseDelete(String checkedId);
后台Servie实现层:
@Override
public int falseDelete(String checkedId) {
return userMapper.falseDelete(checkedId.split(","));
}
userMapper.java:
//所选中的id,逻辑删除
int falseDelete(String[] checkedId);
userMapper.xml:
<!--用户批量删除,逻辑删除-->
<delete id="falseDelete" >
update user set del_flag=true where id in
<foreach collection="array" item = "id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
说明:
1.以上采用的为逻辑删除,采用的是改变记录的删除标记。
2.以上前段采用H-UI框架,所以不用自己写全选与不全选的js,如果没采用框架,请自行百度,例子太多了