0

我正在寻求帮助,请id使用 jQuery 可拖放和可拖放来获取已放置的容器。我只有两个带有列表项的 UL,我从列表 1 拖动到列表 2。我需要获取id列表 2 中已删除项目上方的项目。

它没有得到$(this).attr("id"),因为根据基本的 jQuery 示例,两个列表都被标记为可排序。我想这样做的原因是每个列表项都有一个顺序,当我删除一个项目时,我想设置它上面的一个和下面的一个之间的顺序,这样当从数据库重新加载时,它会按照以下顺序显示该项目被放入。因此,如果我得到它上面的项目,我将能够获得要添加的订单。

没有包含代码,因为它与从一个列表拖动到另一个列表的标准 jQuery 示例代码相同。

任何帮助,将不胜感激

这是放置点的代码

 $("#sortable1").sortable({
        dropOnEmpty: true,
        connectWith: ".connectedSortable",
        receive: function (event, ui) {
              var itemId = ui.item.attr('id');
              var droppableId = $(this).attr("id");
              alert(droppableId);

              //--Get DOM value
              $.getJSON('/Dom/_ElementDetail/' + itemId, function (data) {
                  //--Save to new table
              var name = data[0].Name;
              var code = data[0].DomDetail;
              var matterId = localStorage['MatterId'];
              var stepId = localStorage['StepId'];
              $.ajax({
                  type: 'post',
                  url: '/DOM/AddElementMaster',
                  data: { name: name, code: code, matterId: matterId, stepId: stepId }
              });

        });
      }

    }).disableSelection();
4

1 回答 1

0

在这里检查

据我了解,您设置了一个活动dropover这样的活动:

$( "#droppable" ).droppable({
    drop: function() {
        console.log($(this));
    }
});

但如文档中所述,您应该使用

$( "#droppable" ).droppable({
    drop: function( event, ui ) {
          console.log(ui.draggable.attr('id'));
    }
});

over事件 相同


当您使用 sortable 时,可以通过以下方式获取有关拖动操作的信息:

$(".sortable").sortable({
    receive: function(event, ui) {
        var sender_id = ui.sender.attr('id'),
            receiver_id = $(this).attr('id'),
            item_id = ui.item.attr('id'),
            above_id = ui.item.prev().attr('id'),
            below_id = ui.item.next().attr('id');

        console.log("The item '" + item_id 
                    + "' was dragged from " + sender_id 
                    + "to '" + receiver_id 
                    + "'" + (above_id ? " below of '" + above_id + "', " : "") 
                    + (below_id ? " above of '" + below_id + "'" : "")
                   );
    },
    connectWith: ".sortable"
});​

样本

于 2012-11-23T04:08:23.573 回答