jquery - 在列表之间单击时移动 li 元素

标签 jquery html css

我想做以下事情:

我有三个列表,列表A、列表B、列表C

我想通过单击将列表 A 中的元素移动到列表 B 中,并将列表 C 中的元素移动到列表 B 中,所以 AC 是左和右,B 是列表 中元素的“容器列表” AC

列表B,容器列表,开头应该是空的。

编辑:如果可能的话,这应该是双向的,所以如果我点击一个我放入列表 B 的元素,它应该被分类回列表 AC

这是一个非常简单的示例,说明它现在的样子:https://jsfiddle.net/3ds06kf0/2/

#listA,
#listB,
#listC {
  list-style-type: none;
  margin: 0;
  padding: 0 0 2.5em;
  float: left;
  margin-right: 10px;
}
<ul id="listA" class="connectedSortable">List A
  <li class="ui-state-highlight">Item 1</li>
  <li class="ui-state-highlight">Item 2</li>
  <li class="ui-state-highlight">Item 3</li>
  <li class="ui-state-highlight">Item 4</li>
  <li class="ui-state-highlight">Item 5</li>
</ul>

<ul id="listB" class="connectedSortable">List B
  <!-- THIS IS EMPTY AT THE BEGINNING -->
</ul>

<ul id="listC" class="connectedSortable">List C
  <li class="ui-state-highlight">Item 6</li>
  <li class="ui-state-highlight">Item 7</li>
  <li class="ui-state-highlight">Item 8</li>
  <li class="ui-state-highlight">Item 9</li>
  <li class="ui-state-highlight">Item 10</li>
</ul>

我发现了一些复杂的解决方案,包括 Dragula JS 等,但我相信使用基本的 jquery 有更简单的解决方案,我只是无法理解它:(

最佳答案

您可以使用 appendTo 移动元素

试试这段代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
$("#listA").on('click', 'li', function () {
    $(this).appendTo('#listB');
});

$("#listC").on('click', 'li', function () {
    $(this).appendTo('#listB');
});

关于jquery - 在列表之间单击时移动 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49902809/

相关文章:

html - CSS 轮廓属性在 Firefox 中显示为两条单独的线

jquery - 使用 Bottle 使用 Rest Web 服务(JQuery 和 JSON)

javascript - 使用 JavaScript/jQuery 检查嵌套数组的获胜组合

javascript - 如何在 jQuery 中接受文本框的输入并以数组格式显示?

html - 在 div 中水平和垂直居中按钮

javascript - 匹配每 4 个元素的高度

css - CSS @media 查询对页面加载速度有影响吗?

php - 实时 jQuery Ajax PHP 中的赞成或反对投票

html - Css 在 child 焦点之后改变 parent

javascript - 使用 css 使 google maps api 循环