利用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怎么实现一个批量删除功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。