<!-- Check all button -->
<button type="button" class="btn btn-default btn-sm checkbox-toggle" id="checkall" ><i class="fa fa-square-o"></i>
</button><input type="checkbox" id="ckall" style="display: none;">
<c:forEach items="${emailList }" var="row">
<tr>
<td><input type="checkbox" class="chk" data-idx="${row.idx }"></td>
<td class="mailbox-star"><a href="#"><i class="fa fa-star text-yellow"></i></a></td>
<td class="mailbox-name"><a href="read-mail.html">${row.senderMail }</a></td>
<td class="mailbox-subject"><b>${row.senderName }</b> ${row.subject }
</td>
<td class="mailbox-attachment"></td>
<td class="mailbox-date">${row.regdate }/td>
</tr>
</c:forEach>
데이터를 배열 자체를 넘겨 줘서 서버에서 처리하니 않는 한 하나의 idx 값을 넘겨 주면서
삭제를 하면 스프링 프레임워크와 딜레이 갭이 생긴다. 그래서 전부 삭제 되기전에 location.href 로 이동 된다.
따라서 setTimeout 설정
$(document).ready(function(){
$("#btnDelete").click(function(){
mailDelete();
});
;
});
function allCheck(){
//클릭되었으면
$("#ckall").click();
if($("#ckall").prop("checked")){
//input태그의 name이 chk인 태그들을 찾아서 checked옵션을 true로 정의
$(".chk").prop("checked",true);
$("#ckall").prop("checked",true);
//클릭이 안되있으면
}else{
//input태그의 name이 chk인 태그들을 찾아서 checked옵션을 false로 정의
$(".chk").prop("checked",false);
$("#ckall").prop("checked",false);
}
}
function mailDelete(){
$(".chk").each(function(index){
if($(this).prop("checked")){
var idx =$(this).attr("data-idx");
$.ajax({
url:"/admin/mail/maildelete/"+idx,
type:"get",
success:function(result){
}
});
}
});
setTimeout(function(){
if(confirm("삭제 했습니다.")){
location.href='/admin/mail/senderEmailList';
}else{
location.href='/admin/mail/senderEmailList';
}
}, 2000);
}
</script>
@RequestMapping(value="/maildelete/{idx}", method=RequestMethod.GET)
public String mailDelete(@PathVariable("idx") Integer idx){
adminEmailService.deleteEmail(idx);
return "deleted";
}
댓글 ( 4)
댓글 남기기