1.添加删除用户链接
//点击删除按钮,执行onclick事件的member_del()方法,传入当前用户的id
<a title="删除" onclick="member_del(this,{{ $v->user_id }})" href="javascript:;">
<i class="layui-icon"></i>
</a>
2.编写删除操作的onclick事件的member_del()方法
//用户删除
function member_del(obj, id) {
layer.confirm('确认要删除吗?', function(index) {
//$.post(请求的网址,发送方式,携带的token,要返回的数据)
$.post('/admin/user/'+id,{"_method":"delete","_token":"{{csrf_token()}}"},function(data){
console.log($data);
});
});
}
3.执行删除用户控制器方法,接收删除路由传递过来的用户id,执行删除操作,并返回给客户端
//执行一个用户删除操作
public function destroy($id)
{
//根据删除路由传过来的用户id,查出对应的数据
$user = User::find($id);
//执行删除操作
$res = $user->delete();
//根据删除操作结果,给客户端返回json格式的数据
if ($res) {
$data = [
'status'=>0,
'message'=>'删除成功'
];
}else{
$data = [
'status'=>1,
'message'=>'删除失败'
];
}
return $data;
}
4.前台ajax接收服务端返回的数据
function(data){
//console.log($data);
if (data.status ==0) {
//移除当前元素
$(obj).parents("tr").remove();
//layer弹层给提示信息和笑脸图标,1000毫秒后关闭
layer.msg(data.message, {icon: 6,time: 1000});
}else{
//layer弹层给提示信息和哭脸图标,1000毫秒后关闭
layer.msg(data.message, {icon: 5,time: 1000});
}
5.批量删除用户
- 将每个用户数据前面的复选框添加一个data-id属性
<td>
<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='{{ $v->user_id }}'><i class="layui-icon"></i></div>
</td>
<button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除</button>
function delAll(argument) {
//定义空数组用来放置要批量删除的用户的id
var ids = [];
//选中所有属性为layui-form-checked的复选框,遍历并获取它们的data-id
$(".layui-form-checked").not('.header').each(function(i,v){
//将获取的data-id保存起来
var u = $(v).attr('data-id');
//将获取的data-id的值push到所有用户ids数组中
ids.push(u);
});
layer.confirm('确认要删除吗?', function(index) {
//以get方式发送到admin/user/del,携带所有要删除的用户id,返回data数据
$.get('/admin/user/del',{'ids':ids},function(data) {
});
});
}
//批量删除用户路由
Route::get('user/del', 'UserController@delAll');
//批量删除所有选中用户
public function delAll(Request $request)
{
//获取到所有选中用户的ids
$input = $request->input('ids');
//执行删除操作
$res = User::destroy($input);
//根据删除操作结果,给客户端返回json格式的数据
if ($res) {
$data = [
'status'=>0,
'message'=>'删除成功'
];
}else{
$data = [
'status'=>1,
'message'=>'删除失败'
];
}
return $data;
}
function(data) {
if (data.status ==0) {
//移除当前元素
$(".layui-form-checked").not('.header').parents('tr').remove();
layer.msg(data.message, {icon: 6,time: 1000});
}else{
layer.msg(data.message, {icon: 5,time: 1000});
}