使用clone时,Draggable / Droppable从原始元素获取data / attr

时间:2018-03-13 18:59:45

标签: javascript jquery jquery-ui jquery-ui-draggable jquery-ui-droppable

我正在使用jQueryUI draggable / droppable将行从一个表拖到另一个表。我正在使用helper: 'clone'并且很难从正在拖动的原始项目中获取任何数据/属性。这是一个更好地说明的jsfiddle:

https://jsfiddle.net/e2ter0a4/8/

当我将表格单元格中的data-id属性放入可放置区域并且无法执行此操作时,我正试图获取java.lang.IllegalArgumentException: Index for header 'Selected Category ID' is 4 but CSVRecord only has 1 values! 属性...

注意:我正在尝试通过jQueryUI执行此操作,而无需在拖动开始之前跟踪最后一次单击的单元格或其他一些自定义解决方案(我已经有类似的解决方法实现只是想知道如果有一个更简单/更清洁的解决方案)。

1 个答案:

答案 0 :(得分:1)

您可以使用ui参数来获取它。 ui.draggable获取您正在拖动的元素。来自文档:

  可拖动的   键入:jQuery
  表示可拖动元素的jQuery对象。

试试这个:

$("#droppable").droppable({
    drop: function(event,ui){
    //get data-id from original td
    console.log(ui.draggable[0].getAttribute("data-id"));
  }
});

JQuery UI Droppable documentation

Here is a fiddle