2015-09-02 96 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! –

相關問題