可以使用多个列表排序返回第一个列表

时间:2015-09-02 16:27:45

标签: jquery html list jquery-ui

我有多个列表。每个列表和所有项目都具有相同的类别。

示例:

<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-list中的li添加了一个删除 - “按钮”(span):

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

如果我点击跨度,我会得到“X”.. 但是我怎样才能获得父级(与班级一起的li(如cat_1 / cat_2)?

如何将其重新添加到正确的列表中(带有cat_1-class或cat_2-class的ul?

  

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

1 个答案:

答案 0 :(得分:1)

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

但是,你的removeTest方法应该看起来像这样:

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