其实批量删除和修改是一个原理,关键在于ids的转化
1、html:
.....
<tr>
<th><input type="checkbox" id="checkall" onChange="checkall();"></th>
<th>病厉号</th>
<th>主治医生</th>
<th>挂号时间</th>
<th>挂号科室</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<c:forEach var="reg" items="${regs }">
<tr >
<td style="vertical-align:middle;"><input type="checkbox" name="check" value="${reg.id }"></td>
<td style="vertical-align:middle;">${reg.caseId }</td>
......
2、javascript
function checkall(){
var alls=document.getElementsByName("check");
var ch=document.getElementById("checkall");
if(ch.checked){
for(var i=0;i<alls.length;i++){
alls[i].checked=true;
}
}else{
for(var i=0;i<alls.length;i++){
alls[i].checked=false;
}
}
}
//退号
function exitAll(){
var alls=document.getElementsByName("check");
var ids=new Array();
for(var i=0;i<alls.length;i++){
if(alls[i].checked){
ids.push(alls[i].value);
}
}
if(ids.length>0){
if(confirm("确认操作?")){
$.ajax( {
type : "post",
url : '${pageContext.request.contextPath }/reg/exit.action?ids='+ids,
dataType : 'json',
success : function(data) {
if(data == 3){
alert("退号成功");
for(i=0;i<alls.length;i++){
if(alls[i].checked){
//要根据id实现局部刷新
$("#"+"theId"+alls[i].value).html("已退号");
}
}
}
//清除复选框的选择状态
$("[name = 'check']:checkbox").attr("checked", false);
}
},
});
}
}else{
alert("请选中要操作的项");
}
}
</script>
3、Controller
//退号
@ResponseBody
@RequestMapping("/reg/exit.action")
public Integer exit(String ids){ //从页面获取到的ids是一个String类型的变量
String[] strs=ids.split(",");//将ids里面的 , 去掉放到数组中
for(int i=0;i<strs.length;i++){
Integer idInteger.parseInt(strs[i]);//类型转换
Reg reg=regService.findById(id);
reg.setState(2);
regService.update(reg);
}
return 200;
}
此文章只代表本人个人观点,有错误的地方欢迎指出!