[php] 基于ThinkPHP的批量删除

刚写了个批量删除功能,在这里分享下,呵呵。。

 

废话不多说,先上效果图:

 

HTML布局(基于bootstrap的)

 

<div class="panel panel-default">
    <div class="panel-heading">
        留言列表
        <a class="btn btn-xs btn-default pull-right" href="javascript:window.history.back();">返回</a>
        <a class="btn btn-xs btn-info pull-right mr-5" id="discard" href="javascript:;">删除</a>
    </div>
    <table class="table">
        <thead>
            <tr>
                <th><input class="all" type="checkbox"/></th>
                <th>id</th>
                <th>名称</th>
                <th>邮箱</th>
                <th>内容</th>
                <th>日期时间</th>
                <th>操作</th>
            </tr>
        </thead>
        <tbody>
             <form>
                 <volist name="list" id="vo" empty="$empty">
                     <tr>
                         <td><input name="delete[]" type="checkbox" value="{$vo.id}" /></td>
                         <td>{$vo.id}</td>
                         <td>{$vo.name}</td>
                         <td>{$vo.email}</td>
                         <td>{$vo.subject}</td>
                         <td>{$vo.datetime|date="Y-m-d H:i", ###}</td>
                     <td>
                        <a class="delete" href="javascript:;" data-id="{$vo.id}">删除</a>
                     </td>
                     </tr>
                 </volist>
             </form>
        </tbody>
    </table>
</div>

 

 

 

JS脚本处理(使用ajax技术)

首先判断有没有选中的值,如果没有则提示;如果有,则传递到服务器端处理

 

/* 批量删除 */
    // 全选
    $('.all').click(function() {
        if($(this).is(':checked')) {
            $(':checkbox').attr('checked', 'checked');
        } else {
            $(':checkbox').removeAttr('checked');
        }
    });

    // 删除操作
    $('#discard').click(function() {
        if($(':checked').size() > 0) {
            layer.confirm('确定要删除吗?', {
                btn: ['确定','取消'], //按钮
                shade: false //不显示遮罩
            }, function(){
                $.post("{:U('Single/discard')}", {data: $('form').serializeArray()}, function(res) {
                    if(res.state == 1) {
                        layer.msg(res.message, {icon: 1, time: 1000});
                    } else {
                        layer.msg(res.message, {icon: 2, time: 1000});
                    }
                    setTimeout(function() {
                        location.reload();
                    }, 1000);
                });
            }, function(){
                layer.msg('取消了删除!', {time: 1000});
            });
        } else {
            layer.alert('没有选择!');
        }
    });

 

 

 

PHP代码

获取提交的数据,然后循环得到每一个id的值,接着进行删除操作。

 

public function discard() {
    $contact = M('contact');
    $deleteArr = I('post.data');
    for($i=0;$i<count($deleteArr);$i++) {
        $contact->delete($deleteArr[$i]['value']);
    }
    $this->ajaxReturn(array('message'=>'删除成功!'));
}

 

欢迎关注技术开发分享录:http://fenxianglu.cn/

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天空还下着雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值