js
[javaScript] 체크박스 다중 선택 삭제 기능 / 배열 / .push
natrue
2021. 4. 5. 11:00
728x90
jsp
<a class="btn btn-default" onclick="folderDeleteClick()">삭제</a>
폴더 삭제 버튼 클릭 이벤트 - 배열로 처리

// 체크박스 선택 후 삭제 버튼 클릭시 이벤트
function folderDeleteClick(){
var checkBoxArr = [];
$("input:checkbox[name='folderCheckname']:checked").each(function() {
checkBoxArr.push($(this).val()); // 체크된 것만 값을 뽑아서 배열에 push
console.log(checkBoxArr);
})
$.ajax({
type : "POST",
url : "<c:url value='/folderDelete.do'/>",
data: {
checkBoxArr : checkBoxArr // folder seq 값을 가지고 있음.
},
success: function(result){
console.log(result);
},
error: function(xhr, status, error) {
alert(error);
}
});
}
// console.log(checkBoxArr); 의 값

push : 배열의 마지막에 새로운 요소를 추가한 후, 변경된 배열의 길이를 반환
controller
@ResponseBody
@RequestMapping(value="/folderDelete.do", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public int folderDelete(HttpServletRequest request, @RequestParam(value="checkBoxArr[]") List<String> checkBoxArr
, @ModelAttribute("archiveFolder") ArchiveFolder archiveFolder) throws Exception {
int result = 0;
String checkNum = "";
for(String str : checkBoxArr){
checkNum = str;
archiveFolder.setFolderSeq(checkNum);
folderService.archiveFolderDelete(archiveFolder);
}
return result;
}
