jquery-sortable不稳定的子排序

时间:2018-01-22 18:27:38

标签: javascript jquery sorting nested jquery-ui-sortable

我试图使用jquery-sortable,主要用于嵌套和订购商品。 在第一级和第一项子项,它适用于嵌套和排序。但是,第二个和后续项目的孩子可能无法进行分类。

192.168.1.251

这是演示https://jsfiddle.net/2p17v6xs/

的小提琴

我不确定我在那里做错了什么。

1 个答案:

答案 0 :(得分:1)

在玩弄小提琴之后,我注意到它没有引导程序正在运行:.list-group-item具有样式position:relative,并且看起来嵌套容器的父项不能包含position: relative:它可能搞乱了位置计算,lib似乎错过了计算容器的位置,其位置为:relative"。它可能是lib本身的一个问题。要解决它,你可以:

  • 解决lib

  • 添加hack到bootstrap:

HTML:

<div class="card-body">
  <ul class="list-group sortable">
    <li class="list-group-item no-position">
      First
      <ul class="list-group">
        <li class="list-group-item">
          First Child 1
        </li>
        <li class="list-group-item">
          First Child 2
        </li>
        <li class="list-group-item">
          First Child 3
        </li>
      </ul>
    </li>
    <li class="list-group-item no-position">
      Second
      <ul class="list-group">
        <li class="list-group-item">
          Second Child 1
        </li>
        <li class="list-group-item">
          Second Child 2
        </li>
        <li class="list-group-item">
          Second Child 3
        </li>
      </ul>
    </li>
    <li class="list-group-item no-position">
      Third
      <ul class="list-group">
        <li class="list-group-item">
          Third Child 1
        </li>
        <li class="list-group-item">
          Third Child 2
        </li>
        <li class="list-group-item">
          Third Child 3
        </li>
      </ul>
    </li>
  </ul>

CSS:

    .no-position:not(.dragged) {
      position: initial;
    }

我想不出另一种方式。