【发布时间】:2013-09-21 01:14:25
【问题描述】:
问题:
我正在尝试从 jQuery 重新创建 Draggable + Sortable 功能,但无法将放置的元素放入我的对象数组中。
我想将$.draggable() 按钮拖到$.sortable() 列表中。我希望按钮代表一个具有属性的对象(可以是关联数组,也可以是对象本身),当我将其放入列表中时,我希望它能够将自己放入数组中的位置。
为了清楚起见,我在左侧的菜单中有一组 潜在 对象。在右边,我使用$http 调用我的API 来检索一个表单,该表单的所有字段都保存在$scope 中。我希望将潜在对象(如textarea)拖放到该表单的字段中的拖放位置。
jquery 位很简单,但$scope 数组中的位置不存在对象是问题。
我尝试过的:
我很接近混合组合 ui-sortable 和 $.draggable 指令包装器,但我的代码运行不佳。
示例:
更新 1:
我在 ui-sortable like 指令与包装 $.draggable() 的指令相结合方面取得了进展,有点难看但有效。
更新 2:
我现在可以使用它,但是我从 jquery 中获取索引并使用 PHP 将其切片到该位置,然后重新加载整个列表。谈蹩脚肯定有更好的办法。
更新 3:
这是一个为任何人的应用程序模块化的工作example。
【问题讨论】:
-
你绝对应该做一个小提琴手,这是很多代码要整理。
-
@ZackArgyle 我刚刚澄清了我的问题。该代码不起作用,但我希望它可能会有所帮助。
-
我可能错了,Angular UI 没有可拖动指令吗?
-
@ErikHonn 他们有 ui-sortable github.com/angular-ui/ui-sortable 这是问题的一半。
-
在某处有您的代码示例吗?我不确定我是否理解。从视觉上看,用户如何知道他们将物品放在哪里? DOM 中是否有用于放置对象的占位符元素?
标签: jquery jquery-ui angularjs draggable jquery-ui-sortable