Javascript 强制两个jquery UI可排序列表之间的顺序
很惊讶这个问题以前没人问过,至少我没能找到它 我有多个列表或元素,它们都使用jQuery UI sortable连接在一起。它的所有工作,正如文件所说,它应该,但我想让名单的力量排序。例如,加载每个列表时,项目按日期排序。将项目从列表1移动到列表2中时,可以将该项目放置在列表中的任何位置,而不考虑其日期。同样,您可以移动同一列表中的项目,使其过期 是否有一种方法可以让它计算订购日期,并在物品移动后以正确的顺序呈现物品 一旦一个项目从一个列表移动到另一个列表,它就会执行一个ajax请求将该项目保存到该列表中,一个可能的解决方案是该请求按排序顺序返回该列表,然后重新呈现该列表,但是这似乎不是一种特别干净的方法,因为您已经拥有所有数据 有更简单/更好的方法吗?如果还可以防止在同一个列表中重新排序,那将是理想的Javascript 强制两个jquery UI可排序列表之间的顺序,javascript,jquery,jquery-ui,jquery-ui-sortable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,很惊讶这个问题以前没人问过,至少我没能找到它 我有多个列表或元素,它们都使用jQuery UI sortable连接在一起。它的所有工作,正如文件所说,它应该,但我想让名单的力量排序。例如,加载每个列表时,项目按日期排序。将项目从列表1移动到列表2中时,可以将该项目放置在列表中的任何位置,而不考虑其日期。同样,您可以移动同一列表中的项目,使其过期 是否有一种方法可以让它计算订购日期,并在物品移动后以正确的顺序呈现物品 一旦一个项目从一个列表移动到另一个列表,它就会执行一个ajax请求将该项目保存
谢谢。JQuery Sortable无法处理您试图实现的行为。你必须自己做。我认为receive eventHandler是一个很好的起点。您可以使用ui.item.prev和ui.item.next检索上一个和下一个元素,然后检查插入点是否符合您的要求,并将元素插入到该位置,或将元素返回到其旧列表/位置$ui.sender.sortablecancel 可排序UI的全部目的是让用户根据自己的喜好对项目进行重新排序,这样您就不必太惊讶以前没有人问过。在每次更新时强制执行新的排序顺序会破坏此功能。您可能有一个场景确实需要这样做,但您必须手动编写该部分的代码。您可以使用draggable/droppable并使用drop回调来找到正确的追加位置