前端删除表格某一行信息怎么实现

it2022-05-05  113

使用layui的方法

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值

 

 

使用ajax的方法

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>

 


最新回复(0)