如何使用 jquery 将项目移动到组之间的空列表?

How do I move an item to an empty list between groups using jquery?

我有多个可排序列表。它可以重新排序组重新排序组内的项目在组之间移动项目

但是它不能将项目从一个组移动到另一个空组。

这里我需要将任何项目从 Group2 移动到 Group1

这是fiddle,我试过下面的代码

$(function(){
 $('#groupsList').sortable();
  $('.itemsList').sortable({
    connectWith: ['.group','.itemsList']
  });
});

提前致谢

问题是因为 .itemsList 元素为空时没有高度。因此,不可能在它们上触发与拖动相关的事件。

一个解决方案是在元素上设置 min-height,这样它们总是在 DOM 中占据 space,即使是空的。试试这个:

.itemsList {
  min-height: 10px;
}

$(function() {
  $('#groupsList').sortable();
  $('.itemsList').sortable({
    connectWith: ['.group', '.itemsList']
  });
});
li {
  background-color: #ffcb05;
  margin: 5px;
  padding: 5px;
  cursor: move;
}

div:not(.container) {
  background-color: #00274c;
  min-height: 30px;
  margin: 10px;
  padding: 10px;
  width: 200px;
  vertical-align: top;
  display: inline-block;
}

.group {
  min-height: 50px;
}

.itemsList {
  min-height: 10px;
  border: 1px dotted #bd9700;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" /><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<ul id="groupsList" class="groupsList">
  <li id="group1" class="group">Group 1
    <ul id="groupItems1" class="itemsList">

    </ul>
  </li>
  <li id="group2" class="group">Group 2
    <ul id="groupItems2" class="itemsList">
      <li id="item1-1" class="item">Item 1.1</li>
      <li id="item1-2" class="item">Item 1.2</li>
      <li id="item2-1" class="item">Item 2.1</li>
      <li id="item2-2" class="item">Item 2.2</li>
    </ul>
  </li>
  <li id="group3" class="group">Group 3
    <ul id="groupItems3" class="itemsList">
      <li id="item3-1" class="item">Item 3.1</li>
      <li id="item3-2" class="item">Item 3.2</li>
    </ul>
  </li>
</ul>

请注意,我在上面的示例中在 .itemsList 周围加了一个边框,以便更清楚地表明最小高度设置已到位。