拖动到表格上时,如何判断哪一行被删除?

时间:2013-09-04 15:13:13

标签: javascript jquery jquery-ui datatables

我希望使用jQuery-UI的'Draggable'和'Droppable'功能将数据从一个表拖到另一个表中。

我希望能够跟踪哪个单元格被拖入(特别是X / Y索引),尽管droppable函数返回的This对象列出了CellIndex,其中包含Column(X)值,我运气不佳,发现哪些被丢弃(Y)。

我怎么知道我刚刚放下哪一行?

JS Fiddle Link

2 个答案:

答案 0 :(得分:1)

我会做以下事情:

  • 使用drop event
  • 使用$(this)event.target
  • 查找已删除的对象
  • 找到.closest()表格行(tr
  • 使用.index()

    将其与表格的行进行比较
    $('#mappingChar td').droppable({
        hoverClass: "ui-state-hover",
        drop: function (event, ui) {
            var dropped = $(this),
                droppedRow = dropped.closest('tr');
    
            console.log(droppedRow.index());
        }
    });
    

样本: http://jsfiddle.net/dirtyd77/XcKdX/3/

希望这有帮助,如果您有任何问题,请告诉我们!

答案 1 :(得分:0)

你可以使用.index()或rowIndex找到它,你的代码中应该这样做:

$('#mappingChar td').droppable(
        {
            hoverClass: "ui-state-hover",
            drop: function( event, ui )
            {
                alert($(this).parent().index()+"\nor\n"+$(this)[0].parentNode.rowIndex);
                console.log('drop successful');
            }
        });