基于ThinkPHP实现批量删除

本文实例分析了基于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'=>'删除成功!'));

}

以上是 基于ThinkPHP实现批量删除 的全部内容, 来源链接: utcz.com/z/320633.html

回到顶部