javascript - Jquery在不重新加载页面的情况下无法删除div
问题描述
我可以通过单击“添加到候选列表按钮”将一个行为添加到我的候选列表中。然后可以通过单击叉从候选名单中删除行为。
但是,将一个动作添加到候选名单后,该动作只有在页面刷新时才会删除。我需要能够使用 jquery prepend 和 remove 方法从候选列表中动态添加和删除行为,而无需刷新页面。
添加到候选清单按钮
<a href="javascript:void(0);" data-id="{{ $act->id }}" class="profile-enquiry-btn add-to-shortlist" role="button">ADD TO SHORTLIST</a>
从候选名单中删除按钮
<a href="javascript:void(0);" data-id="{{ $item['id'] }}" class="removeact remove-from-shortlist">×</a>
$(".add-to-shortlist").click(function (e) {
e.preventDefault();
var ele = $(this);
$.ajax({
url: '{{ url('add-to-shortlist') }}' + '/' + ele.attr("data-id"),
method: "get",
data: {_token: '{{ csrf_token() }}'},
dataType: "json",
success: function (response) {
if(response.errors)
{
toastr["info"]("This act has already been added to your shortlist", "Error");
}
else
{
var data = response.data;
var $id;
var $name;
var $slug;
var $description;
var $genres;
var $genrenames = '';
var $startingprice;
var $members;
var $image;
var $rating;
$.each(data, function(i, data){
$id = data.id;
$name = data.name;
$slug = data.slug;
$description = data.description;
$genres = data.genres;
$startingprice = data.startingprice;
$members = data.members;
$image = data.image;
$rating = data.rating;
});
$.each($genres, function(i, $genres){
console.log($genres.name);
$genrenames += $genres.name+', ';
});
$('#myshortlist').prepend('<div class="popular-act" id="shortlist-item-'+$id+'"><div class="popular-act-img"><a href="/act/'+$slug+'"><img src="http://localhost:8000/storage/'+$image['id']+'/'+$image['file_name']+'" alt="'+$image['name']+'"></a><a href="javascript:void(0);" data-id="'+$id+'" class="removeact remove-from-shortlist">×</a></div><div class="popular-act-details"><div class="popular-act-top-section"><h3 class="popular-act-title"><a href="/act/">'+$name+'</a></h3><div class="popular-act-star-rating">'+$rating+'</div></div><div class="popular-act-description"><div class="popular-act-short-description">'+$genrenames.slice(0,-2)+'</div><p>insert description</p></div><div class="popular-act-bottom-section"><div class="popular-act-price"><div class="popular-act-price-heading">FROM</div><div class="popular-act-price-figure">£'+$startingprice+'</div></div><div class="popular-act-members"><div class="popular-act-members-heading">MEMBERS</div><div class="popular-act-members-figure">'+$members+'</div></div><div class="popular-act-view-profile-button"><a href="/act/'+$slug+'">VIEW PROFILE</a></div></div></div></div>');
toastr["success"]("Act added to shortlist", "Success");
}
}
});
});
$(".remove-from-shortlist").click(function (e) {
alert('Remove clicked');
e.preventDefault();
var ele = $(this);
$.ajax({
url: '{{ url('remove-from-shortlist') }}' + '/' + ele.attr("data-id"),
method: "get",
data: {_token: '{{ csrf_token() }}'},
dataType: "json",
success: function (response) {
if(response.errors)
{
toastr["info"]("A unknown error occured, please try again. Thank you.", "Error");
}
else
{
var data = response.data;
$('#shortlist-item-'+data).remove();
toastr["success"]("Act removed from shortlist.", "Success");
}
}
});
});
解决方案
推荐阅读
- swift - 如何检查文本是否转到 UILabel 中的新行?
- azure - 在 Azure 搜索中为电子邮件编制索引
- firefox - 如何从 WebRTC 层拦截和记录错误?
- html - 如何在反应js中将类型数据缓冲区转换为图像
- asp.net-core - 如何在 ubuntu 20.04.1 LTS 上安装 yeoman 命令行工具?
- android - 电容器 - 在 Ionic + Angular 应用程序中未收到推送通知
- java - 在 Thymeleaf 表格单元格中更改子字符串的颜色不起作用
- python - 尝试分离训练集和测试集时出现 ValueError
- or-tools - or-tools:某些位置的 dirrerent slack_max
- python - 在新数据框中对具有相同索引的元素求和