日期:2014-05-16 浏览次数:20874 次
js页面jquery代码:
// JavaScript Document $(document).ready(function() { // 全选 $("#allChk").click(function() { $("input[name='subChk']").prop("checked",this.checked); }); // 单选 var subChk = $("input[name='subChk']") subChk.click(function() { $("#allChk").prop("checked", subChk.length == subChk.filter(":checked").length ? true:false); }); /* 批量删除 */ $("#del_model").click(function() { // 判断是否至少选择一项 var checkedNum = $("input[name='subChk']:checked").length; if(checkedNum == 0) { alert("请选择至少一项!"); return; } // 批量选择 if(confirm("确定要删除所选项目?")) { var checkedList = new Array(); $("input[name='subChk']:checked").each(function() { checkedList.push($(this).val()); }); $.ajax({ type: "POST", url: "deletemore", data: {'delitems':checkedList.toString()}, success: function(result) { $("[name ='subChk']:checkbox").attr("checked", false); window.location.reload(); } }); } }); }); 页面元素: <a href="#" id="del_model"><span>删除用户</span> <th class="tal"><input type="checkbox" id="allChk"/>全选</th> <td><input type="checkbox" name="subChk" value="${user.id}"/></td>回调函数,在请求完成后需要进行的操作:此处是把选中的checkbox去掉(因为是用到了freemarker的list循环,去掉是数据后checkbox序号变化,还有有相应未知的checkbox被选中,需要去掉)。
success: function(result) { $("[name = 'items']:checkbox").attr("checked", false); window.location.reload(); }
@RequestMapping(value = "/deletemore", method = RequestMethod.POST) public String deleteMore(HttpServletRequest request, HttpServletResponse response) { String items = request.getParameter("delitems"); String[] item = items.split(","); for (int i = 0; i < item.length; i++) { userService.delete(Integer.parseInt(item[i])); } return "redirect:list"; }
效果图: