【知了堂学习笔记】利用ajax实现web中的批量删除
来源:互联网 发布:扑克牌喝酒游戏知乎 编辑:程序博客网 时间:2024/06/07 18:10
一.思路
实现批量删除,可以使用两种方式,第一种通过form表单提交数据,实现删除;第二种是通过ajax将选中的数据传递到后台进行删除。
首先,需要获取页面中,复选框选中的值;然后将它保存起来,然后通过ajax将参数传递给后台servlet对应的方法中,执行删除操作。
这里是界面
下面是jsp页面代码
<div class="wareTable"><table border=".5" id="wareTable"><tr class="tableTitle" bgcolor="#7088A3"><th><a><input type="checkbox" id="main" onclick="change();"><span>全选</span></a></th><th>仓库编号</th><th>仓库地点</th><th>仓库存放</th><th>仓库总容量</th><th>仓库库存</th><th>仓库管理人</th><th colspan="2">操作</th></tr><c:forEach items="${pb.beanList }" var="Warehouse" varStatus="i"> <tr class="tableItem"> <td ><input type="checkbox" value="${Warehouse.warehouse_id }" name="ck"></td> <td>${Warehouse.warehouse_id }</td> <td>${Warehouse.warehouse_site }</td> <td>${Warehouse.warehouse_count }</td> <td>${Warehouse.warehouse_inventory }</td> <td>${Warehouse.user_name }</td> <td><a href="${ctx }/wmessage?method=editWmessage&warehouse_id=${Warehouse.warehouse_id }" onclick=" ">编辑</a></td> <td><a href="${ctx }/wmessage?method=deleteWmessage&warehouse_id=${Warehouse.warehouse_id }" onclick=" ">删除</a></td></tr></c:forEach>
function change(){var main = document.getElementById("main");var flag = main.checked;var cks = document.getElementsByName("ck");for(var i=0;i<cks.length;i++){cks[i].checked = flag;}}function sendDel(){var cks = document.getElementsByName("ck");var id = "";for(var i=0;i<cks.length;i++){if(cks[i].checked){id += cks[i].value;if(i < cks.length-1){id += ",";}}}
Change():是为了实现全选功能
SendDel():是将复选框选中的checkbox的值,赋值给id,且id不是一个数组而是一个字符串,每个值之间通过,(逗号)分隔开
$.ajax({ type: "POST", url: "/mone/wmessage", data: "method=deleteMore&id="+id, async: false,});
同过ajax将id传递给后台的对应servlet的方法
/** * 删除单条信息 * @param request * @param response * @return */public String deleteWmessage(HttpServletRequest request,HttpServletResponse response) {String warehouse_id = request.getParameter("warehouse_id");service.deleteWmessage(warehouse_id);return OBJECT_REDIRECT + "/wmessage?method=getWmessageById;}/** * 删除多条信息 * @param request * @param response * @return */public String deleteMore(HttpServletRequest request,HttpServletResponse response) {String wmessageIds = request.getParameter("id");if(wmessageIds == null) {return null;}String[] split = wmessageIds.split(",");for (String id : split) {service.deleteWmessage(id);}return OBJECT_REDIRECT + "/wmessage?method=getWmessageById;}
我是通过多次调用单次删除的方法,实现对的批量删除
下面是dao层的代码
private String sql = null;private QueryRunner tr = TxRunner.getInstance();
/** * 删除单条信息 */public void deleteWmessage(String warehouse_id) {sql = "update warehouse set del=1 where warehouse_id= ? ";try {tr.update(sql, warehouse_id);} catch (SQLException e) {e.printStackTrace();}}
阅读全文
0 0
- 【知了堂学习笔记】利用ajax实现web中的批量删除
- 【知了堂学习笔记】利用js、ajax实现遍历行传参
- [知了堂学习笔记] jQuery Ajax
- [知了堂学习笔记] Ajax入门
- [知了堂学习笔记] 原生Ajax
- [知了堂学习笔记]_jQuery Ajax
- [知了堂学习笔记]_Js中的函数
- 【知了堂学习笔记】java中的正则表达式
- [知了堂学习笔记]_JS中的运算符
- [知了堂学习笔记]_JS中的控制语句
- 【知了堂学习笔记】JFreeChart
- [知了堂学习笔记]_JavaScript
- 【知了堂学习笔记】Nginx+Tomcat实现简单负载均衡
- 【知了堂学习笔记】myBatis实现增删查改
- [知了堂学习笔记] javascript DOM学习
- 【知了堂学习笔记】c3p0连接池
- 【知了堂学习笔记】正则表达式
- 【知了堂学习笔记】正则表达式
- MySQL登录时出现的Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的解决办法
- 使用spring4.3.7整合hibernate4.2.21异常处理
- 通过百度地图API获取地址经纬度
- oracle11g 将某个用户下的数据导出成.bmp格式的文件,并将该文件导入到另一个库中
- andorid 微信 分享开发以及解决分享闪退问题
- 【知了堂学习笔记】利用ajax实现web中的批量删除
- new和delete,malloc和free 转自http://www.kuqin.com/effectivec2e/ch01a.htm
- 我的互联网价值观、方法论和个人实践(4)-个人信用模型
- struts2获取前台传递过来的数据的三种方式
- 删除链表结点O(1)时间
- 内核对象(3)
- l练习四 求一个n阶方阵对角线元素之和。
- 探索推荐引擎内部的秘密
- Hadoop Sequence File 文件的读取和写入