批量删除功能的实现

其实实现这个功能还是挺简单的 因为我这是直接拼接的,所以用了DOM方法来获取id
话不多说直接上代码
首先是复选框全选和反选
这里的话

获取最上面一个复选框的状态同步到拼接的复选框

 $("#check11").click(function () { var hz = $("#check11").prop("checked"); $(".qx").prop('checked',hz); }); 

直接看checkbox就好

    $.ajax({
url: "/reader",
type: "get",
dataType: "json",
success:function (result) {
var dataTR = "";
$.each(result, function (index, value) {
dataTR +=
"<tr>" +
"<td>" + value.readerId + "</td>" +
"<td>" + value.name + "</td>" +
"<td>" + value.sex + "</td>" +
"<td>" + value.birth + "</td>" +
"<td>" + value.address + "</td>" +
"<td>" + value.telcode + "</td>" +
"<td>" +
"<input type='checkbox' class='qx'> " +
"</td>" +
"</tr>";
});
$("#tbody").html(dataTR);
}
});

下面是ajax请求

 $("#delete").click(function () {
var zhi = $('input:checkbox:checked');
var id = '';
var str = '';
$.each(zhi,function(){
id = this.parentNode.parentNode.firstChild.innerHTML;
if(id!=null){
str += id+",";
}
swal({
title:"确定要删除这"+zhi.length+'个数据吗',
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "确定!",
cancelButtonText: "取消!",
closeOnConfirm: false,
closeOnCancel: false
},function (isConfirm) {
var s = JSON.stringify(str);
console.log(s);
if(isConfirm){
$.ajax({
url:"/reader1",
type:"post",
dataType: "json",
data:{"str":s},
success:function (result) {
if(result=="success"){
swal('删除成功','','success');
getAll();
}else {
swal("取消!", "停留在此页面", "info");
}
}
});
}else {
swal("取消!", ", "info");
}
});
});
});

这里注意var定义一定要放在each方法的外部并且要给赋值’ ';不然的话JSON转换成字符串的时候会
为空

dao层

  int deleteByPrimaryKey(Integer readerId); 

Mapper

 <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer"> delete from reader_info where reader_id = #{readerId,jdbcType=INTEGER} </delete> 

service层

int deleteByPrimaryKey(Integer readerId);

impl

 package gentleman.service;

 import gentleman.bean.User;
import gentleman.dao.Userdao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service
@Transactional
public class serviceimpl implements UserService { @Autowired
private Userdao userdao; @Override
public void deleteUserById(int id) throws Exception {
userdao.deleteUserById(id);
}
}

Controller层

 package gentleman.Controller;

 import com.alibaba.fastjson.JSON;
import gentleman.service.reader_infoservice;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class CountDown {
@Autowired
private reader_infoservice reader; @RequestMapping("/reader1")
@ResponseBody
public String deleteByPrimaryKey(String str){
String substring = str.substring(1,str.length()-1);
String[] split = substring.split(",");
try {
for (int i = 0; i < split.length; i++) {
reader.deleteByPrimaryKey(Integer.parseInt(split[i]));
}
return JSON.toJSONString("success");
} catch (NumberFormatException e) {
e.printStackTrace();
return JSON.toJSONString("fail");
}
}
}

这里需要注意的就是JSON传过来的字符串是"id,id,id"的形式,如果想转成int类型
需要先把第一个位置和最后一个位置上的双引号去掉;

SSM实现批量删除功能的更多相关文章

  1. 实例:SSH结合Easyui实现Datagrid的批量删除功能

    在我先前的基础上面添加批量删除功能.实现的效果如下 删除成功 通常情况下删除不应该真正删除,而是应该有一个标志flag,但flag=true表示状态可见,但flag=false表示状态不可见,为删除状 ...

  2. layui表格的批量删除功能

    // 批量删除功能 // 1.得到table选中行内容 // 2.得到删除需要的唯一值,一般是id; // 3.将所要删除的项加入到数组中: // 4.判断是否选中: // 5.发送ajax请求,并附 ...

  3. SSM + MySQL批量删除操作

    最近项目中有个购物车功能需要能够选中商品,然后批量删除的操作,也可以单个删除,其实代码很简单就能实现. 这里需要注意的就是你前端是怎么传值的,我这里采用的数组的形式,用 ‘,’隔开. 然后控制层代码如 ...

  4. ajax批量删除功能的实现源代码

    效果展示: 完整代码如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charse ...

  5. checkbox批量删除功能

    参考:http://www.jb51.net/article/35338.htm 感谢作者 代码片段:jsp <c:forEach items="${infolist }" ...

  6. iOS开发:一个高仿美团的团购ipad客户端的设计和实现(功能:根据拼音进行检索并展示数据,离线缓存团购数据,浏览记录与收藏记录的批量删除等)

    大致花了一个月时间,利用各种空闲时间,将这个客户端实现了,在这里主要是想记录下,设计的大体思路以及实现过程中遇到的坑...... 这个项目的github地址:https://github.com/wz ...

  7. iOS开发——UI进阶篇(四)tableView的全局刷新,局部刷新,左滑操作,左滑出现更多按钮,进入编辑模式,批量删除,自定义批量删除

    首先创建项目,在storyboard如下布局控件,设置好约束 然后创建cell模型类XMGWineCell数据模型类XMGWine创建UITableView,设置数据源协议,实现数据源方法懒加载数据这 ...

  8. Android 长按Listview显示CheckBox,实现批量删除。

    ListView实现的列表,如果是可编辑,可删除的,一般都要提供批量删除功能,否则的话,一项一项的删除体验很不好,也给用户带来了很大的麻烦. 实现效果图 具体实现代码 select.xml 主布局文件 ...

  9. ajax“显示弹窗详情”和“删除”功能练习

    1.查看详细信息,以弹窗的形式显示,使用ajax 2.批量删除 “查询”功能可以参考前面的文章,这里只讲解ajax“显示弹窗详情”和“删除”功能 第一:在body中的代码 <title>a ...

随机推荐

  1. value_counts()

    Serise类型: Series.value_counts(normalize=False, sort=True, ascending=False, bins=None, dropna=True) 功 ...

  2. CSS单行超长溢出如何处理?表格某一行某一列超长如何处理?

    表格某一行某一列超长 截取一部分 并增加...效果 增加titile ======================================================== <td t ...

  3. es去重查询

    {     "query": {                 "bool": {                     "must": ...

  4. 数组其他部分及java常见排序

    数据结构的基本概述: 数据结构是讲什么,其实大概就分为两点: 1.数据与数据之间的逻辑关系:集合.一对一.一对多.多对多 2.数据的存储结构: 一对一的:线性表:顺序表(比如:数组).链表.栈(先进后 ...

  5. TCP/IP——何时用UDP代替TCP

    UDP和TCP UDP和TCP都有其自身的特点,不同的应用场景和要求需要使用不同的协议来传输,那么何时我们可以用UDP代替TCP呢. UDP 的优点 UDP支持广播和多播,事实上如果应用程序使用广播或 ...

  6. appium+android各配置参数获取'platformName'、'platformVersion'、appActivity、deviceName、webdriver.Remote

    图中1的获取--'platformName'.'platformVersion' 点击appium右上角的运行按钮,可通过上面查看platformName 和 platformVersion 平台版本 ...

  7. 深入理解计算机系统10——系统级I/O

    系统级I/O 输入/输出 是在主存和外部设备之间拷贝数据的过程. 外部设备可以是:磁盘驱动器.终端和网络. 输入和输出都是相对于主存而言的. 输入是从I/O设备拷贝数据到主存.输出时从主存拷贝数据到I ...

  8. 51nod 1812 树的双直径 题解【树形DP】【贪心】

    老了-稍微麻烦一点的树形DP都想不到了. 题目描述 给定一棵树,边权是整数 \(c_i\) ,找出两条不相交的链(没有公共点),使得链长的乘积最大(链长定义为这条链上所有边的权值之和,如果这条链只有 ...

  9. vue使用nprogress页面加载进度条

    vue使用nprogress页面加载进度条 NProgress是页面跳转是出现在浏览器顶部的进度条 官网:http://ricostacruz.com/nprogress/ github:https: ...

  10. Python学习 day09

    一.文件的修改 python中修改文件,可以直接通过write实现,但这种方法均比较局限.若有需求:将文件中的某内容替换为新内容,其他内容保持不变.这种需求write理论上是可以实现的,可以将一个文件 ...