Ajax&Angularjs

      <!-- 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";
	}
	

 

 

about author

PHRASE

Level 60  머나먼나라

미움은 다툼을 일으켜도, 사랑은 모든 허물을 덮어준다. -성경

댓글 ( 0)

댓글 남기기

작성