jQuery可排序同级分组

时间:2017-02-16 17:17:35

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

我想知道如果下一个兄弟姐妹有一个类,是否可以对可排序的项目进行分组。以下是HTML的简化版本:

a_p

我需要它,这样如果你拖动B,C就会随之而来。 A,C和D将按正常方式单独排序。组规则是,如果它没有groupWith并且直接兄弟拥有groupWith类,则将它们保持在一起。

我希望避免在小时候与小组合作,但如果没有别的办法,我将不得不关注它。

有没有办法做到这一点?我认为更糟糕的情况是我之后移动了这些项目,但我希望可以排序组,而不仅仅是单项。

1 个答案:

答案 0 :(得分:0)

没有好办法(我知道)。

我想要的方法是向B添加一个具有id或者东西来识别C的属性。然后在sortable中的.update函数中,你可以检查被排序的元素是否具有这个属性,如果是这样,那么分离然后追加C.

有点像

$(".sortable").sortable({
  update: function(event, ui){
    if (ui.item.attr('connectedTo')){
      $('#'+ui.item.attr('connectedTo')).detach().insertAfter(ui.item);
    }
  }
}).disableSelection();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class="sortable">
<div id="A">A</div>
<div id="B" connectedTo="C">B</div>
<div id="C">C</div>
<div id="D">D</div>
</div>