很惊讶这个问题以前没有被问过,至少我还没有找到它。
我有多个列表或元素都使用jQuery UI可排序连接在一起。它的所有工作都是文档说它应该,但是我想使列表强制排序。例如,当加载每个列表时,项目按日期排序。将项目从列表1移动到列表2时,无论日期如何,都可以将该项目放在列表中的任何位置。同样,您可以移动同一列表中的项目,使它们过时。
有没有办法让它计算日期排序并在项目移动后以正确的顺序呈现项目?
将项目从一个列表移动到另一个列表后,它会执行ajax请求以将该项目保存到该列表,可能的解决方案是该请求以排序顺序返回该列表,然后重新呈现该列表,然而,由于您已拥有所有数据,这似乎不是一种特别干净的方法。
更容易/更好的方法吗?如果它也可以防止在理想的同一列表中重新排序。
感谢。
答案 0 :(得分:0)
JQuery Sortable无法处理您尝试实现的行为。你必须自己动手。我认为接收eventHandler是一个很好的起点。您可以使用ui.item.prev()和ui.item.next()来检索上一个和下一个元素,然后检查插入点是否符合您的要求并将元素插入该位置或将元素转回其中#& 39;旧列表/位置($(ui.sender).sortable("取消");)