我想为用户制作一个兴趣列表。但此时我有点卡住了。我想要以下内容;两行兴趣,一是用户的兴趣,一是用户可能感兴趣的兴趣。
现在我希望用户能够点击那里的兴趣来删除它们,我正在使用这个功能(效果很好);
// delete interest
$(".interest-item-delete").click(function() {
$(this).closest('.interests-item').replaceWith('<div class="interests-item-empty">Sleep<br>hier iets<br>wat je leuk<br>vindt</div>');
});
然后我希望用户能够将兴趣添加到当前兴趣列表中的空白区域(具有类“interests-item-empty”的 div)。我正在使用它,它也很好用;
// add interest
$('.interests-search-image').draggable({
revert: 'invalid',
});
$('.interests-item-empty').droppable({
accept: '.interests-search-image',
drop: function(ev, ui){
var title = $(ui.draggable).attr("data-title");
var imgSrc = $(ui.draggable).attr("data-imgSrc");
var categorie = $(ui.draggable).attr("data-cat");
$(ui.draggable).remove();
$(this).replaceWith('<div class="interests-item"><div class="interest-item-category">'+categorie+'</div><div class="interest-item-image"><img src="'+imgSrc+'"><div class="interest-item-delete">X</div></div><div class="interest-item-title">'+title+'</div></div>');
},
});
但现在我遇到了两个问题;1.当我删除一个项目时,我不能在上面放任何东西(虽然它确实有正确的类)。2.当我将一个项目拖到用户的兴趣列表中时,我无法删除它们。
我猜这两个问题都有一个我不熟悉的相同类型的解决方案。希望您能够帮助我。
根据要求:我已经尝试过的;
// delete interest
$(".interest-item-delete").click(function() {
$(this).closest('.interests-item').replaceWith('<div class="interests-item-empty">Sleep<br>hier iets<br>wat je leuk<br>vindt</div>');
$('.interests-item-empty').droppable({
accept: '.interests-search-image',
drop: function(ev, ui){
var title = $(ui.draggable).attr("data-title");
var imgSrc = $(ui.draggable).attr("data-imgSrc");
var categorie = $(ui.draggable).attr("data-cat");
$(ui.draggable).remove();
$(this).replaceWith('<div class="interests-item"><div class="interest-item-category">'+categorie+'</div><div class="interest-item-image"><img src="'+imgSrc+'"><div class="interest-item-delete">X</div></div><div class="interest-item-title">'+title+'</div></div>');
$(".interest-item-delete").click(function() {
$(this).closest('.interests-item').replaceWith('<div class="interests-item-empty">Sleep<br>hier iets<br>wat je leuk<br>vindt</div>');
$('.interests-item-empty').droppable({
accept: '.interests-search-image',
drop: function(ev, ui){
var title = $(ui.draggable).attr("data-title");
var imgSrc = $(ui.draggable).attr("data-imgSrc");
var categorie = $(ui.draggable).attr("data-cat");
$(ui.draggable).remove();
$(this).replaceWith('<div class="interests-item"><div class="interest-item-category">'+categorie+'</div><div class="interest-item-image"><img src="'+imgSrc+'"><div class="interest-item-delete">X</div></div><div class="interest-item-title">'+title+'</div></div>');
},
});
});
},
});
});
如前所述,这将使拖动的项目可删除。但是当我删除它并在其上放置一个新项目时,该项目是不可删除的。所以这就是为什么我认为我需要一个循环或其他东西。