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

Leave at least one item in sortable JQuery UI List

本文关键字:保留 项目 一个 排序 JQuery UI 列表      更新时间:2023-09-26

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

我正试图做一些很长的事情:

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

有人知道怎么做吗?

使用取消选项而不是项目:

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

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

请参阅此处的工作示例。

我认为这可能是你对:notnot()的使用,但不能确定。总体选择器有时会让人感到痛苦,因为你试图将它们映射到各种需求中。

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

如果不起作用,那就试试

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