在表格内拖动

时间:2014-08-22 16:04:40

标签: angularjs html5 html-table

我做了拖动功能,但卡在了某些东西,因为没有pRo。
来源here angularjs 。 它来自lorenzofox3指令 但问题的关键在于拖动功能本身。 我知道如何拖动元素,但问题是它是<table>嵌套

<thead>
   <tr>
     <th>header</th>
   </tr>
</thead>
<tbody>
   <tr>
     <td>text</td>
   </tr>
</tbody>

我想知道应该如何采取措施。我应该替换DOM元素位置还是模仿。并且还要考虑我必须分别替换表列。 我只需要完整逻辑的步骤(不是解决方案) - 当用户start-drags move-drag end-drag时必须发生的事情。 角度方法并不重要。只是逻辑。

来自lorenzofox3的回答

  

您好,

     

我认为您最好的选择是为您的列设置一个关联的模型,以便您可以观看它,尤其是当您重新排序集合时(例如通过拖放)。看看这个example。   注意通过拖放重新排序模型集合如果您对逻辑感兴趣,请使用lrDragNDrop。   我的简单示例的缺点是您在单元格模板上失去了灵活性,如果您想要更复杂的东西,则必须在此示例中详细说明。

     

的问候,

     

劳伦

2 个答案:

答案 0 :(得分:2)

我在拖动表格行时遇到了类似的问题,并尝试了几种从html5原生拖动到各种拖放库的解决方案。

到目前为止唯一可行的解​​决方案是使用(jquery-ui sortable and tables)。就像一个魅力。

答案 1 :(得分:1)

angular-ui ui-sortable是拖放的方式。我已经用它来非常成功地拖动表格列。

https://github.com/angular-ui/ui-sortable

在你的选项中添加这个帮助我使用xaxis拖动

start: function(e, ui) {
  # since this is a horizontal list, use the known workaround  from
  # https://github.com/angular-ui/ui-sortable/issues/19
  $(e.target).data("ui-sortable").floating = true
}

开发人员非常乐于助人并且反应迅速。