甜蜜警报在Laravel应用程序中删除警报
sweetalert for delete alert in Laravel app
我正在尝试使用sweetalert
发出删除警报,但是每当我从甜蜜警报中确认delete
时,表的第一行总是被删除。例如,即使我尝试从表中删除第 3 行,sweetalert 也会删除第一行。
如何更正我的代码?
<tbody>
@foreach($album_names as $album)
<tr>
<td>{{ $album->album_name }}</td>
<td>
{!! Form::open(['route' => ['album.destroy',$album->id], 'method' => 'delete','id'=>'delete_form']) !!}
<button class="btn btn-danger" id="delete">Delete</button>
<script type="text/javascript">
$('button#delete').on('click', function(e){
e.preventDefault();
swal({
title : "Are you sure?",
text : "You will not be able to recover this Album!",
type : "warning",
showCancelButton : true,
confirmButtonColor: "#DD6B55",
confirmButtonText : "Yes, delete it!",
cancelButtonText : "No, Cancel delete!",
closeOnConfirm : false,
closeOnCancel : false
},
function(isConfirm){
if(isConfirm){
swal("Deleted!","your album has been deleted", "success");
setTimeout(function() {
$("#delete_form").submit();
}, 2000); // 1 second delay
}
else{
swal("cancelled","Your album is safe", "error");
}
}
);});
</script>
{!! Form::close() !!}
</td>
</tr>
@endforeach
</tbody>
问题是你在循环中生成所有这些。每个删除按钮的 ID 为"#delete",每个窗体的 ID 为"#delete_form",但有许多按钮和窗体,每个按钮和窗体具有相同的 ID。
您没有确定选择器的范围以了解实际提交哪个表单。将您的 ID 切换到课程,并确保根据单击的按钮选择表单。
例如,可以将代码更改为如下所示的内容:
@foreach($album_names as $album)
<tr>
<td>{{ $album->album_name }}</td>
<td>
{!! Form::open(['route' => ['album.destroy',$album->id], 'method' => 'delete','class'=>'delete_form']) !!}
<button class="btn btn-danger delete-btn">Delete</button>
{!! Form::close() !!}
</td>
</tr>
@endforeach
<script type="text/javascript">
$('button.delete-btn').on('click', function(e){
e.preventDefault();
var self = $(this);
swal({
title : "Are you sure?",
text : "You will not be able to recover this Album!",
type : "warning",
showCancelButton : true,
confirmButtonColor: "#DD6B55",
confirmButtonText : "Yes, delete it!",
cancelButtonText : "No, Cancel delete!",
closeOnConfirm : false,
closeOnCancel : false
},
function(isConfirm){
if(isConfirm){
swal("Deleted!","your album has been deleted", "success");
setTimeout(function() {
self.parents(".delete_form").submit();
}, 2000); //2 second delay (2000 milliseconds = 2 seconds)
}
else{
swal("cancelled","Your album is safe", "error");
}
});
});
</script>
这是未经测试的,但它应该可以帮助您入门。让我知道这是否有帮助。
相关文章:
- 如何在iOS应用程序中从Firebase中删除超过6小时的数据
- 如何从浏览器中获取cookie,从另一个应用程序中删除
- 困在使用RxJS删除所有计数器应用程序中
- 使用cordova插件删除iOS中应用程序的临时目录
- 应用程序脚本-自动从谷歌驱动器删除超过3天的文件-获取文件列表
- 从Express,Node.js应用程序中删除MongoDB文档
- Ajax 仅在 Ruby 应用程序中刷新时删除
- 甜蜜警报在Laravel应用程序中删除警报
- 意外的删除行为谷歌电子表格应用程序
- 通过我的应用程序删除驻留在内部 Linux 服务器上的文件
- 如何在 mvc3 Web 应用程序的生产版本中删除 JS 日志记录调用
- 删除未使用资产的繁重任务、脚本或应用程序
- 删除Facebook应用程序请求(使用javascript sdk)在用户被带到画布页面后
- AngularJS - 做应用程序将提交和删除功能放入工厂
- 如何在 angularjs 应用程序中注销时删除/清除存储在范围变量中的数据
- 在iPhone的删除模式下应用程序抖动的算法
- 如何从控制器 ASP.NET url 中删除哈希参数,以便返回到 Angular.JS 应用程序中的根 URI
- 如果没有使用JavaScript连接到应用程序的通知,则删除应用程序
- 如何使DIV振动或嗡嗡作响?(类似于iOS的移动/删除应用程序功能)
- 如何识别用户没有删除应用程序