布局效果

布局代码

<button type="button" class="btn btn-sm btn-danger btn-erbi-danger" id="batchDel" style="margin-right:20px;">批量删除</button>
<tr>
<th><input id="checkAll" type="checkbox"></th>
<th>ID</th>
<th>所属公司</th>
<th>姓名</th>
<th>性别</th>
<th>身份证号</th>
<th>手机号</th>
<th>住址</th>
<th>备注</th>
<th>标签</th>
<th>创建时间</th>
<th>操作</th>
</tr>
<volist name="result" id="vo">
<tr data-id="{$vo.id}" data-table="company">
<td><input class="checkOne" type="checkbox" data-id="{$vo.id}"></td>
<td>{$vo.id}</td>
<td>{$vo.company_name}</td>
<td>{$vo.name}</td>
<td>{$vo.sex_str}</td>
<td>{$vo.id_card}</td>
<td>{$vo.telephone}</td>
<td>{$vo.address}</td>
<td>{$vo.remark}</td>
<td>{$vo.tag_str}</td>
<td>{$vo.create_time|date='Y-m-d H:i',###}</td>
<td>
<?php if (!$_SESSION['_admin_is_company']) { ?>
<a href="javascript:;" class="info_tag">标签</a>
<?php }?>
<a href="javascript:;" data-id="{$vo.id}" class="info_edit">编辑</a>
<a href="javascript:;" data-id="{$vo.id}" class="info_del">删除</a>
</td>
</tr>
</volist>

一个checkAll,一个checkOne。一个ID,一个Class。

增加全选反选事件

// 全选,反选
$("#checkAll").on('change', function () {
if ($(this).is(":checked")) { // 全选
$(".checkOne").prop("checked",true);
} else { // 反选
$(".checkOne").prop("checked",false);
}
});

增加删除事件,获取id

// 批量删除
$("#batchDel").on('click', function () {
var ids = []; // 获取选中的id
$('tbody input.checkOne').each(function (index, el) {
if ($(this).prop('checked')) {
ids.push($(this).data('id'))
}
}); layer.confirm('确认要删除吗?' + ids.toString(), function (index) {
//捉到所有被选中的,发异步进行删除
ajaxBatchDel(ids.toString());
});
}); // ajax批量删除
function ajaxBatchDel(ids) {
// ajax设置不通过
$.ajax({
type: 'POST',
url: 'ajaxBatchDel',
data: {ids: ids},
dataType: 'json',
success: function (data) {
if (data.errno == 0) {
layer.msg('删除成功', {icon: 1});
$(".checkOne:checked").parents('tr').remove();
} else {
layer.msg(data.errdesc, {icon: 5});
return false;
}
}
});
}

批量软删除

public function ajaxBatchDel() {
$ids = $_POST['ids'];
if (!$ids){
$this->json->setErr(10001,'请选择要删除的内容');
$this->json->Send();
} $employee = M('employee');
$flag = $employee->where(['id'=>['in',$ids]])->save(['status'=>0]);
if($flag){
$this->json->setErr(0, '删除成功');
$this->json->Send();
}else{
$this->json->setErr(10099, '删除失败');
$this->json->Send();
}
}

PHP 批量删除的实现的更多相关文章

  1. php批量删除

    php批量删除可以实现多条或者全部数据一起删除 新建php文件 显示数据库中内容: <table width="100%" border="1" cell ...

  2. confirm对话框取消后阻止ajax操作、ajax做批量删除

    在做批量删除的时候,需要用confirm弹出一个提示框让用户确认是否删除,点击确定,执行操作,点击取消,取消操作.但是如果使用ajax把选中项的主键值传到处理页面处理时,如果使用下面的方法将confi ...

  3. mybatis批量删除提示类型错误

    一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在EmpMapper.xml文件中标签的collection属性: 当collection="array"时,表名 ...

  4. php链接数据库 批量删除 和 注册审核

    理解 :  hiden   value    session   name="a[]"         1.  form  表单上传的 value=" "值   ...

  5. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  6. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  7. MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

    回到目录 说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的mongodb仓储中并没有对批量更新和批量删除进行实现,而今天在 ...

  8. jdbc-批量插入、批量删除、批量更新

    一.JDBC的批量插入 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等.    我用Mysql5.1.5的JDBC driver 分别对三种比较常用的方法做了测试   方法 ...

  9. 11月1日上午PHP批量删除

    1.在主页面上添加批量删除有关代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  10. Redis【知识点】批量删除指定Key

    Redis中有删除单条数据的命令DEL但是他没有批量删除多条数据的方法,那我们怎么去批量删除多条数据呢! 第一种方式 /work/app/redis/bin/redis-cli -a youpassw ...

随机推荐

  1. vue中点击不同的em添加class去除兄弟级class

    vue中使用v-for循环li 怎么点击每个li中的em给添加class删除兄弟元素 <html lang="en"> <head> <meta ch ...

  2. 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(HTTP介绍,TCP实现HTTP下载文件)

    https://www.cnblogs.com/yangfengwu/p/10357564.html 看了好多文章.....唉,还是自己亲自动手用网络监控软件测试吧 先看这个节安装WEB服务器.... ...

  3. Linux 系统管理——账号管理

    一.用户账号管理 1.用户账户概述 用户账户的常见分类: 超级用户:root  uid=0  gid=0  权限最大 普通用户:uid>=500  做一般权限的系统管理,权限有限. 程序用户:1 ...

  4. 洛谷 题解 P1828 【香甜的黄油 Sweet Butter】

    潇洒の开始 第一步:食用头文件和定义变量, 变量干什么用的说的很清楚 #include<iostream> #include<cstdio> #include<cstri ...

  5. Brexit Gym - 101490C

    题目链接:Brexit vector的使用(vector存边),巧用queue,相当于Bfs /* */ # include <iostream> # include <cstdio ...

  6. 一次修复linux的efi引导的集中方法总结记录

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/grub_uefi_repair 起因:EFI分区被删除导致引导问 ...

  7. mysql abs() 获取绝对值

    mysql> -); +----------+ | abs(-) | +----------+ | | +----------+ row in set (0.00 sec)

  8. 关于js中onload事件的部分报错。

    当使用onload获取元素时,建议在onload事件之前定义需要获取的元素名称,在onload里面只执行获取操作,这样获取到的元素在后面才能顺利使用. <!DOCTYPE html> &l ...

  9. Wireshark常用快捷键&&过滤器语法

    目录 一.快捷键 二.过滤器语法 1.捕获过滤器的BPF(Berkeley Packet Filter)语法 2.显示过滤器 一.快捷键 Ctrl+M 标记/取消标记 shift+ctrl+N/B 下 ...

  10. .Net Core EF 使用整理合集

    1..NetCore中EFCore的使用整理 2..NetCore中EFCore的使用整理(二)-关联表查询 3.EF Core 1.0 和 SQLServer 2008 分页的问题 4.EF Cor ...