jQuery UI多DnD重复问题

时间:2012-02-01 03:08:47

标签: javascript jquery jquery-ui-sortable drag-and-drop

我一直在研究一种拖放解决方案,其中用户可以从左侧的元素列表中选择多个项目,并将它们同时拖动到右侧的.sortable()区域。 this示例。

问题是,在用户选择并拖动多个项目之后,通过仅拖动一个项目来跟随该项目,单个项目将被复制。

以下是细分:

  • 用户点击多个项目,切换“已选定”类
  • 用户拖动其中一个选定项目,所有其他选定项目都会跟随 - 用户将其放入容器中。
  • 然后用户拖动单个项目,无需切换“已选择”,右侧的容器,一旦删除,该项目就会重复。

我想改变逻辑:

var selected = $('#ul-left .selected');
  if (selected.length === 0) {
    selected = $(this);
  }
var container = $('<div></div>').attr('id', 'draggingContainer');
container.append(selected.clone());
return container;

说出类似(伪代码)的内容:

if( selected >= 1){
  proceed as written above
} else {
  set the helper property to clone ( as if I would've done helper: 'clone',)
}

我不确定是否有办法手动执行此操作,此外,我不确定我是否正朝着正确的方向前进 - 所以我要去:)

这是我的fiddle

谢谢大家看看这个。 肯

1 个答案:

答案 0 :(得分:0)

如果您更改停止以添加刷新,则应解决此问题:

 stop:function (e, ui) {
          $('#wrapper ul li').removeClass('selected').css({'background-color':'#FFD'});
          $('#ul-right').append(ui.helper.children());
          $('#ul-right').sortable('refresh');// add this line
        }