我要创建一个删除按钮,以删除选中的项目。表示一个主按钮,用于删除所有选中的项目。我制作了一个主复选框,用于检查所有值。现在,我要创建一个主按钮,该按钮将删除选中的值。这是我的代码。我是Laravel的新手,请帮助我。对不起,我的英语不好。
@extends('footer')
@extends('header')
@section('body')
<!DOCTYPE html>
<html>
<head>
<title>Retrieve data|Std view</title>
<link rel="stylesheet" type="text/css" href="{{ asset('public/css/style.css') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('public/css/bootstrap.css') }}">
<script type="text/javascript" src="{{ asset('public/js/jQuery.js') }}"></script>
</head>
<body>
@if(session()->has('success'))
<div class="alert alert-success">
<h3> {{ session()->get('success') }} </h3>
</div>
@endif
<div class="container">
<form action="" method="">
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<h2 style="color: green">This Is View Form</h2>
<a href = "insert" class="btn btn-primary">Add New</a>
//HERE IS MY MASTER DELETE BUTTON.
<button type="submit" class="btn btn-danger" >Delete</button><br><br>
<table border="1" id="customers">
<tr>
<th>
//Here is my checkbox inside the loop.
<input type="checkbox" id="master" onchange="checkall(this);"> All
</th>
<th>Name</th>
<th>Email</th>
<th>Update</th>
<th>Delete</th>
</tr>
@foreach($data as $value)
<tr>
<td>
<input type="checkbox" class="sub_chk_{{ $value->id }}" value="{{ $value->id }}">
</td>
<td>{{ $value->name }}</td>
<td>{{ $value->email }}</td>
<td><a href="edit/{{$value->id}}" class="btn btn-primary" >Edit</a></td>
//THIS DELETE BUTTON FOR SINGLE DELETE FUNCTION
<td><a href="delete/{{$value->id}}" onclick='ConfirmDelete()' class="btn btn-danger" >Delete</a></td>
</tr>
@endforeach
</table>
</form><br>
{{ $data->links() }}
</div>
</body>
</html>
@endsection
<script>
function checkall(obj) {
var selectedIds = [];
if(obj.checked){
$('input:checkbox').not(obj).prop('checked', 'checked');
$("input:checkbox").each(function(){
var $this = $(this);
if($this.is(":checked")){
selectedIds.push($this.attr("value"));
console.log(selectedIds);
}
})
}
else{
$('input:checkbox').prop('checked',false);
}
}
function ConfirmDelete()
{
var x = confirm("Are you sure you want to delete?");
if (x)
return true;
else
event.preventDefault();
return false;
}
</script>
答案 0 :(得分:0)
首先获取选中复选框的ID数组,然后在控制器中使用这些ID删除数据。为此,首先将名称输入框(在foreach循环内),就像这样,
<input type="checkbox" name="ids[]" class="sub_chk_{{ $value->id }}" value="{{ $value->id }}">
然后为表单操作创建新路线。 然后在该控制器函数中编写逻辑以删除数据。喜欢,
function delete(Request $request){
Model::whereIn('id',$request['ids'])->delete();
}
就这样。