可排序项目从一个列表移动到另一个列表,丢失句柄和排序功能

时间:2009-07-21 15:52:10

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

我有DIV,其中包含OL> LI列表,这些列表每个都是可排序的,我将它们连接在一起,这样用户就可以将LI从一个列表移动到另一个列表......这似乎是常见的事情。

当可排序列表收到一个项目时,该项目将失去其“可排序性”..或至少句柄不起作用。

以下是一些代码,向您展示我如何设置可排序列表:

$(".sortable").sortable({
  connectWith: ".sortable",
  revert: true,
  opacity: 0.5,
  handle: $('.sample_view_image span img'),
  cursor: 'move',
  receive: function(event, ui) {
    $(ui.item).formatSampleToGallery();
    $(ui.item).sortable("refresh"); //thought this would reconnect everything
  }
});

1 个答案:

答案 0 :(得分:0)

首先,我引用的是$(ui.item),它不能排序。咄。

其次,当我使用右选择器$(ui.item).parent()时,“刷新”仍然没有正确地重新建立“句柄”。似乎“刷新”应该为我照顾这个,我是否滥用它?!

我必须使用以下代码才能使其正常工作,感觉有点脏......:

$(".sortable").sortable({
  connectWith: ".sortable",
  revert: true,
  opacity: 0.5,
  handle: $('.sample_view_image span img'),
  cursor: 'move',
  receive: function(event, ui) {
    $(ui.item).formatSampleToGallery();

    $(ui.item).parent().sortable({
      connectWith: ".sortable",
      revert: true,
      opacity: 0.5,
      handle: $('.sample_view_image span img'),
      cursor: 'move'
    });
  }
});