如何将不同的列表框项目拖放到一起

How to drag and drop different list box items together

本文关键字:项目 拖放 到一起 列表      更新时间:2024-03-19

我有两个列表框。它彼此相邻放置。用户可以单独对每个列表进行排序,然后我提供了一个复选框。如果选中复选框,则项目将水平地相互绑定,然后向前,如果用户从左侧列表框中选择一个元素,则右侧列表框中的相邻元素也将被选中,然后一起移动以进行重新排序(排序)。你能帮我选择两个元素并一起移动吗。

我终于通过以下方式做到了这一点。

我对这两个列表都使用了jquery sortable。

在activate可调用中,获得原始列表项

activate: function(event, ui){
    srcList = $('#source-container ul.sourceList li');
},

在停止可调用中

stop: function(event, ui){
    $(srcList).each(function(idx, elem){
         if($(elem).equals($(ui.item)))
     orgIndex = idx;
});
$('#source-container ul.sourceList li').each(function(idx, elem){
    if($(elem).equals($(ui.item)))
        curIndex = idx;
});
$('#target-container ul.targetList li').each(function(idx, elem){
    if(idx == orgIndex){
    var toIndex = curIndex + 1;
    var fromIndex = orgIndex + 1;
    if(toIndex < fromIndex)
         $('#target-container ul.targetList li:nth-child('+fromIndex+')').insertBefore($('#target-container ul.targetList li:nth-child('+toIndex+')'));
    else
    $('#target-container ul.targetList li:nth-child('+fromIndex+')').insertAfter($('#target-container ul.targetList li:nth-child('+toIndex+')'));
}