我试图通过使用条件来检查重复项是否从#sort2
拖入#sort
,以检查#sort2
中是否存在基于其标题属性的相同项目。如果有重复,则在添加新的
$("#sort2").sortable({
receive: function (e, ui) {
var title = ui.item.attr('title');
var img = $('#sort2').find('img[title="'+title+'"]');
console.log(title);
if(img.length)
{
img.remove();
}
ui.sender.data('copied', true);
}
});
但是我的尝试没有成功,它只是在被拖入#sort2
时删除任何项目。谁能告诉我怎么做?
$("#sort").sortable({
connectWith: ".connectedSortable",
helper: function (e, li) {
this.copyHelper = li.clone().insertAfter(li);
$(this).data('copied', false);
return li.clone();
},
stop: function () {
var copied = $(this).data('copied');
if (!copied) {
this.copyHelper.remove();
}
this.copyHelper = null;
}
});
$("#sort2").sortable({
receive: function (e, ui) {
var title = ui.item.attr('title');
var img = $('#sort2').find('img[title="'+title+'"]');
console.log(title);
if(img.length)
{
img.remove();
}
ui.sender.data('copied', true);
}
});
$('#sort2').on('click','img',function(){
$(this).remove();
});
HTML:
<div class='connectedSortable' id='sort'>
<img title='AAA' src='http://upload.wikimedia.org/wikipedia/commons/7/7f/Wikipedia-logo-en.png'/>
<img title='BBB' src='http://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/32px-Wikisource-logo.svg.png'/>
</div>
<div class='connectedSortable' id='sort2'></div>
答案 0 :(得分:2)
我找到了解决方案。原始示例删除所有具有相同标题的图像,因此我的方法是使用img.filter(":gt(0)").remove();
删除第一个重复的图像。
$("#sort").sortable({
connectWith: ".connectedSortable",
helper: function (e, li) {
this.copyHelper = li.clone().insertAfter(li);
$(this).data('copied', false);
return li.clone();
},
stop: function () {
var copied = $(this).data('copied');
if (!copied) {
this.copyHelper.remove();
}
this.copyHelper = null;
}
});
$("#sort2").sortable({
receive: function (e, ui) {
var title = ui.item.attr('title');
var img = $('#sort2').find('img[title="'+title+'"]');
console.log(title);
if(img.length)
{
img.filter(":gt(0)").remove();
}
ui.sender.data('copied', true);
}
});
$('#sort2').on('click','img',function(){
$(this).remove();
});