在可排序的JQuery UI列表中保留至少一个项目

时间:2012-08-02 16:18:14

标签: javascript jquery jquery-ui jquery-ui-sortable

我有两个连接的可排序列表。我不希望用户能够将列表留空。他们必须始终在列表中至少有一个项目。

我试图做很长时间的事情:

    $( "#unused, #used" ).sortable( {
        connectWith: ".connectedSortable", 
        placeholder: "placeholder",
        items: "li:not(:only-child)"
        }).disableSelection();

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:3)

使用cancel选项代替items

$( "#unused, #used" ).sortable( {
    connectWith: ".connectedSortable", 
    placeholder: "placeholder",
    cancel: "li:only-child"
});

此选项将阻止在可排序列表中只剩下一个项目时进行排序。

查看工作示例here

答案 1 :(得分:1)

我认为可能是您对:not vs not()的使用,但无法确定。总体选择器有时会很痛苦,因为你试图将它们映射出来以满足各种需求。

尝试$(this + 'li').not(':only-child')

如果不起作用,请尝试

$(this + 'li:not:only-child')