如何防止jQuery可排序项从一个列表移动到另一个列表?

时间:2009-08-29 06:53:41

标签: jquery jquery-ui-sortable

function dropMembers()
{

    $("ul.present").sortable({
        connectWith: 'ul',
        containment: 'window'
        //containment: 'ADD_MEMBER_DIALOG'
//            sort: function(event, ui) {
//                var present_result=$("ul.present").sortable('toArray');
//               // alert(ui.sortable);
//            }

    });

    $("ul.usrlist").sortable({
        connectWith: 'ul',
        dropOnEmpty: true,
        containment: 'window'
//             sort: function(event, ui) {
//             var usr_result=$("ul.usr").sortable('toArray');
//             //alert(ui.sortable);
//            }
    });

    $("#USER_PRESENT_LIST, #MAIN_USER_LIST").disableSelection();

}

大家好, 上面给出的函数在两个列表之间进行排序,但是如果将一个列表中的元素移到另一个列表上并将其放在窗口之外,那么我拖动的元素会在我移动它的地方的另一个列表中显示出来。 任何人都可以告诉我如何阻止它在其他列表中添加,如果我尝试做同上面提到的相同的事情,那么它应该回到它被拖动的相同列表。 感谢

2 个答案:

答案 0 :(得分:0)

删除connectWith行?你告诉jQueryUI项目可以传递给其他ul,但你说你不希望这样。

答案 1 :(得分:0)

您可以通过为可排序区域提供较小的收容区域来避免此问题。而不是整个窗口,尝试使用父div或表格单元格,并安排列表,以便没有死空间,即用户无法拖动元素,而不清楚元素应该在哪个列表中。