jQuery draggable sortable,在删除元素上更改html
我正在设计一个表单构建界面。 所有可用字段都位于界面左侧的无序列表中,右侧有一个大的空无序列表,它将成为我的webform。 使这个界面工作的“技巧”是将左侧的列表项转换为有效的html元素,方法是在将它们附加到右侧的可排序列表之前将html附加到droppable ui元素中。
我有它…大多数…使用draggable()和sortable()。 目前,我使用sortable的receive事件从draggable元素中获取id,我将其置于data()块中以传递给update事件。 从那里,我使用id元素进行ajax调用,确定它是什么类型的字段以及应该从后端添加哪些选项,构建元素,然后使用ui.item.html
将其放入界面中,这是更新函数传递的元素。
我的方法的问题是它在拖动元素时也会触发,这会导致选择元素在无意中附加到可排序列表时乱丢屏幕。 显然,receive事件是仅在sort从连接列表中获取项目时触发的事件。 但是,如果我尝试内部html ui.item
元素,它会更改源列表,而不是所需的目标。 当项目已经在右侧的网络表单列表中时,如果它们只是被排序,我绝对不想修改它们。
有没有办法在连接的sortable()
列表接收事件中访问和更改目标html? 还有其他策略可以解决我的挑战吗?
代码:
Available Fields
- First Name
- Last Name
- Company