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});
}