布局效果

布局代码

<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. JAVA项目部署到云服务器

    转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...

  2. Refactoring open source business models

    https://opensource.com/business/16/4/refactoring-open-source-business-models They say you never forg ...

  3. stm32flash的读写特性

    在使用stm32自带的flash保存数据时候,如下特点必须知道: 1.必须是先擦除一个扇区,才能写入 2.读数据没有限制 3.写数据必须是2字节,同时写入地址以一定要考虑字节对齐, 4.一般都是在最后 ...

  4. Django rest_fram_work API View序列化

    APIview 单表的GET和POST: 视图 查询所有: class PublishView(APIView): # 查询数据 def get(self, request): # first inq ...

  5. Codeforces Round #605 (Div. 3) B. Snow Walking Robot(构造)

    链接: https://codeforces.com/contest/1272/problem/B 题意: Recently you have bought a snow walking robot ...

  6. 简易配置中心Confd入手

    改成动态更新配置文件,如下每五秒重新生成配置文件 confd与etcd的使用 Add keys This guide assumes you have a working etcd, or consu ...

  7. go选项模式

    package main import "fmt" type optionClient func(*options) func setAge(a int) optionClient ...

  8. ESP8266低功耗解决的其中一个问题(芯片发热,影响旁边的温湿度芯片)

    这个项目的这个问题困扰了自己好长时间了,ESP8266芯片发热,导致了旁边的温湿度传感器采集不了空气中的温度....采集的温度是芯片发热的温度 一直采集出来的是30多度......尽管空气温度10几度 ...

  9. Pandas的基本用法

    Pandas是使用python进行数据分析不可或缺的第三方库.我们已经知道,NumPy的ndarray数据结构能够很好地进行数组运算,但是当我们需要进行为数据添加标签,处理缺失值,对数据分组,创建透视 ...

  10. 如何在 Debian 9 上安装和使用 Docker

    Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行. Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成 ...