2015-09-02 94 views
0

我有多个列表。每个列表和所有项目都有相同的类别。可用多个列表排序返回第一个列表

例子:

<ul class="cat_1"> 
    <li class="cat_1">Item1</li> 
    <li class="cat_1">Item2</li> 
    <li class="cat_1">Item2</li> 
</ul> 

<ul class="cat_2"> 
    <li class="cat_2">Item1</li> 
    <li class="cat_2">Item2</li> 
    <li class="cat_2">Item2</li> 
</ul> 

我也有一个空列表

<ul></ul> 

列表中的项目可以被放入空列表。这仅限于3项(TOP 3)。这已经完成了。

但我希望它也可以再次从TOP 3中删除它们,并再次将其添加到正确的列表(自动)。所以我增加了一个删除 - “按钮”(跨度)每李是谁在TOP3名单中删除:

$("#top3").sortable({ 
    receive: function(event, ui) { 
     $(ui.item).append("<span class='removeItem' onclick='removeTest(this)'>X</span>"); 
    } 
}); 

如果我点击的跨度,我得到的“X” .. 却怎么也我得到的父(与类(如cat_1/cat_2李)?

我怎么能再次将它添加到正确的列表(UL与cat_1类或cat_2级?

我也尝试过与另一个工作流程,但这似乎不是一个很好的方式 这样做(需要很多用户交互):当退回到一个 列表(而不是TOP3,但cat_1或cat_2),我检查了课程。如果课程是 好的,我什么也没做。否则,我删除了李。但我无法将 li(对象)添加到正确的列表中...(我尝试使用.append()& .appendTo())。

+0

例子 - http://jqueryui.com/sortable/#connect-lists – user4621032

+0

可排序是没有问题的。这是一个附加功能。 – Finduilas

回答

1

我不完全清楚你想做什么。展示你到目前为止的小提琴可能会有所帮助。

然而,你removeTest方法或许应该是这个样子:

function removeTest(span){ 
    var elem = $(span).parent(); 
    var elemClass = elem.attr("class"); 
    $('ul.' + elemClass).append(elem); 
    $('#top3').remove(elem); 
} 
+0

这么简单..只需$(span)即可获取元素..我试图找到该对象的id属性。 – Finduilas

+0

您必须热爱jQuery! –

相关问题