使用Jquery在rowspan和colspan中进行拖放,在两个表之间拖放

时间:2014-05-18 09:54:00

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

我试图移动一行有行和> 2或colspan> 2在另一张表中。

问题在于,当我将其放入单元格时,它会在该单元格中创建一个新的tr。

我想在删除拖动的对象时将父rowpan或colspan设置为与child相同。

http://jsbin.com/jumalofe/1/watch?html,js,output

让我们说" AIBD"应该是从08-00到12:00。我该怎么做?

1 个答案:

答案 0 :(得分:0)

这是你做的。我们将使用可排序的receive事件:

  

接收(event,ui)

     

当连接的可排序列表中的项目时,将触发此事件   已被放入另一个列表。后者是事件目标。

receive:function(event, ui) {

      //we check if the <td> has rowspan property
     if(typeof ui.item.attr('rowspan') !== 'undefined' && ui.item.attr('rowspan') !== false){

        //if it does, we store it in a variable
        rowspan = ui.item.attr('rowspan');

        //the element we are dropping to, we set the rowspan there
        //(content is automatically inserted)
        $(this).attr('rowspan',rowspan);

        //we set the rowspan of sender element to 0, this is the case where
        //you are re-dragging the 'AIDB' to some other row, if you do, 
        //we want the previous row to be same as before, free of any rowspan
        ui.sender.attr('rowspan',0);

      }

      //same case for colspan
      if(typeof ui.item.attr('colspan') !== 'undefined' && ui.item.attr('colspan') !== false){

        colspan = ui.item.attr('colspan');
        $(this).attr('colspan',colspan);
        ui.sender.attr('colspan',0);

      }
}

<强> DEMO