1、监听行事件信息,使用的是lay-filter,
table.on('tool(test)', function(obj){ }2、删除按钮后面定义的lay-event是delete,通过lay-filter捕捉按钮事件,然后上面的 代码可以捕捉到行信息,里面的内容是
var data = obj.data; //获得当前行数据 alert(obj.data); var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值) var tr = obj.tr; //获得当前行 tr 的DOM对象 if(layEvent === 'del'){ //删除 layer.confirm('真的删除行么', function(index){ obj.del(); //删除对应行(tr)的DOM结构,并更新缓存 layer.close(index); //向服务端发送删除指令 });
3、编写controller
4、编写service 和 dao
5、mapper上继承 的是mybatis的myMapper ,JDBC操作使用的是 封装好的delete方法,根据的是选中的 表格的id值
1、监听行事件
先指定删除按钮
<shiro:hasPermission name="FireWall:delete"> <a class="delete" target="ajaxTodo" title="确认要删除此数据吗?" href="${ctx}/fireWall/delete/?ids={slt_uid}">删除</a> </shiro:hasPermission>2、监听事件用的是table的event
3、编写controller
@RequestMapping("/delete") public @ResponseBody String delete(String ids) { AjaxObject ajaxObject = new AjaxObject(); try { String[] idarr = ids.split(","); for (String id : idarr) { fireWallService.delete(id); } ajaxObject.setNavTabId(moduleListNavId); ajaxObject.setMessage("删除成功"); } catch (Exception e) { e.printStackTrace(); ajaxObject.setStatusCode(AjaxObject.STATUS_CODE_FAILURE); ajaxObject.setMessage("删除失败"); } ajaxObject.setCallbackType(""); return ajaxObject.toString(); }主要就是传入了一个id值,这个值这个行数据的id,虽然在表格当中不可见但是需要传入的是这个值。
4、编写service
public int delete(String id)throws Exception { return FireWallDAO.delete(id); }5、编写dao
public int delete(String id)throws Exception { return sqlsession.delete("FireWallDAO.delete", id); }
6、mapper是根据选中的id值删除,
<delete id="delete" parameterType="String"> DELETE FROM yf_firewall_access WHERE ID=#{id} </delete>