可排序-获取放置项指针

时间:2018-06-21 09:30:38

标签: jquery drag-and-drop jquery-ui-sortable

我正在使用可排序的jQuery进行拖放。

当我单击某个元素时,可以使用jQuery“ $(this)”以获得特定的元素指针。

在某个放置区中放置物品后,有什么方法可以得到相同的东西吗?是否有一个“ $(this)”指向我刚放下的物品?

$(document).ready(function() {  

    $( ".dropZone" ).sortable({
        revert: true,
        update: function(event, ui) {

            var dropZoneID = event.target.id;
            var drag_item_ID = ui.item.data('id');
            var pos = (ui.item.index())+1;
            var data = $(this).sortable('serialize', {
              attribute: "data-id"
            });
    });
});

HTML-拖动项:

<div class="panel panel-info attrac-clone" data-id="attrac-2" data-pos="">

    <div class="panel-heading">
        HEADER TITLE
    </div>

    <div class="panel-body">PANEL BODY TEXT</div>

</div>

1 个答案:

答案 0 :(得分:0)

传递的item参数的ui属性是对您刚刚排序的元素的引用。这样,您可以像这样使用$(ui.item).closest('.dropZone')

$(".dropZone").sortable({
  revert: true,
  update: function(e, ui) {
    var dropZoneID = e.target.id;
    var drag_item_ID = ui.item.data('id');
    var pos = ui.item.index() + 1;
    var data = $(ui.item).closest('.dropZone').sortable('serialize', {
      attribute: "data-id"
    });
  }
});