这篇文章主要介绍了PHPjQuery+Ajax结合写批量删除功能的相关资料, 需要的朋友可以参考下
为了美观,我还是引入了layui的模态框
整个页面我就不写了 比较简单
需要的按钮
<button class="layui-btn layui-btn-danger del_all">
<i class="layui-icon"></i>批量删除</button>
遍历出来的复选框为
<input id="box" name="check" type="checkbox" value="{{$v->user_id}}" lay-skin="primary">
这样前端的内容就完成了,这样就开始写js部分了,我全部用的是jquery
重点:做批量删除,重点是获取到复选框的id值,获取到后,将选中的值for循环拼接即可
$(document).on("click",".del_all",function(){
//根据 name值 获取复选框的元素
var check = document.getElementsByName("check");
var str="";//定义一个空的值
//根据循环将选中的值 用逗号拼接一下 拼接所有的id,
//注意:值如果取不出来的话,看看checkbox有没有书写
//value值,至关重要选中的值用逗号拼接一下,
//循环判断哪些复选框是选中
//获取length它的长度
for (i=0;i<check.length;i++) {
if (check[i].checked == true) {
str += "," + check[i].value;
}
}
alert(str);
//id获取到可以打印一下看看
//id取到了,底下ajax与之前一样
var ids = str.substr(1); //截取字符串 去掉
//alert(ids);
layer.confirm('确认要删除吗?',function(index){
layer.confirm('确认要删除吗?',function(index){
//调用ajax
var urll="http://www.laravele.com/admin/user/del";
$.ajax({
url:urll,
data:{ids:ids},
dataType:"json",
type:"GET",
success:function(res){
if(res.code==200){
layer.msg(res.msg,{icon:6,time:1000});
location.reload()//刷新页面
}else{
layer.msg(res.msg,{icon:5,time:1000});
}
}
})
})
});
后台laravel框架控制器代码
public function delAll(Request $request)
{
$id=$request->input();
// dd($id);
$id = implode(",",$id);//把数组元素组合为一个字符串
$id=explode(",",$id); //将字符串转化为数组
$res=User::destroy($id);
if ($res) {
$data=['code'=>200, 'msg'=>'删除成功'];
} else {
$data=['code'=>201, 'msg'=>'删除失败'];
}
return $data;
}
第二种方式:
<button class="layui-btn layui-btn-danger " οnclick="delAll()" ><i class="layui-icon"></i>批量删除</button>
<input id="but"type="checkbox" data-id="{{$v->user_id}}" lay-skin="primary">
function delAll(){ 批量删除的方法
var ids=[];
$(".layui-form-checked").not('.header').each(function(i,v){
var u=$(v).attr('data-id');
ids.push(u);
})