批量删除

批量删除是对字符串的处理,需要拼接和分割字符串。
一、在视图中先获取选中行数据,用checkStatus来接收,用layuiTable.checkStatus来获取在tabStudent这个表格里面所选中的数据,可以获取到一共选中了多少条数据,当checkStatus大于0时就是有选中数据,接着就是要对选中的ID进行处理,声明一个空的字符串studentIds,执行完for循环时再对studentIds进行字符串的拼接,执行for循环的条件是:var i = 0; i < checkStatus.data.length;(选中的长度),当只有两条数据被选中时, 选中的长度就是2,i就小于了2,这时就可以对选中的ID进行拼接了,拼接一个分号是为了将选中的每一条数据区分开,在分割字符串的时候就可以清楚知道哪个ID是哪条数据的了,这里是对选中的ID的末尾拼接了一个分号,但也可以是以其他字符进行拼接,假设选中的ID值是121和312这时上面空的studentIds 就等于了所选中的ID在末尾拼接上了一个分号,也就是121;和312;这两个值。拼接完的ID不能直接运行删除,因为在控制器要对这些ID进行分割,分割的条件是分号,分号后面如果数据为空的话,数据传到数据库的时候会出现错误,这时候就要去掉最后一个分号,所以studentIds = studentIds.substring(0, studentIds.length - 1); substring()方法用于提取字符串中介于两个指定下标之间的字符。有两个参数substring(start,stop)方法返回的子串包括start 处的字符,但不包括 stop 处的字符。例如获取到的ID是121;312;那么得到的参数就是(0,7)得到的参数是索引值,所以start处是从0开始,stop处要获取到的是字符串的长度减1,当前获取到的字符串长度是8,减去1就是7,最后一个分号所在的位置的索引值就是7,不包括stop处的字符,所以获取到的就是121;312,这样就可以把后面的分号去掉了。
在这里插入图片描述
layer.confirm(“您确定要删除选中的” + checkStatus.data.length + “条学生信息?”, { icon:3, title: “提示” }, function () {
$.post(“delStuInfos”, { StudentIds: studentIds }, function (msg) {
//刷新表格
tabStudent.reload();
layer.alert(msg, { icon: 0, title: “提示” });
});
});
在去掉最后一个分号后面写上这一段代码,它是传递和接收数据的,用了layer的询问框,有三个参数,第一个是询问提示用户的内容,第二个是图标和标题,第三个是function 下面写的是要执行的内容,这里用post请求也是有三个参数,一个请求在控制器执行删除的方法,一个是接收删除数据的参数StudentIds把接收到的studentIds传递到控制器,最后一个是一个回调函数它接收到的是控制器执行完成之后传递过来的数据,命名了一个msg来
接收传过来的数据,执行完成后用reload()方法刷新表格,再用弹窗提醒用户。

二、下面图片是在控制器执行删除的代码,先对页面传过来的ID进行分割处理,用string字符串类型接收, Split()方法是用来分割字符串的,在视图已经在每个ID末尾加了一个分号,这就为现在字符串分割创造了条件,就可以以分号为分割依据对ID进行分割,页面传过来的121;312就会分割为{”121”,”312”}这两个字符串,可以得到的是一个ID一条数据的形式,然后就可以对数据进行便利循环,实现数据的逐条删除操作,在执行删除前还要把string类型的数据转化为int类型的,因为在数据库中ID是int类型的,int?加问号是允许为空,从数据库删除数据先从学生表到用户角色明细表再到用户表,都需要先查询出来要删除的单条数据,再执行删除操作。countSuccessDel++;是记录成功条数,否则不执行循环countFailedDel++;记录失败条数。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值