我需要对下面图像中显示的项目列表进行排序
条件:
1.排序顺序必须是连续顺序
2.不应允许多重值。
我遇到的问题是当我将值从3更改为4并且有两个显示值为4
时如何在PHP-yii中克服这个问题?如果有人能帮助我解决与此相关的逻辑,我将不胜感激。
改变后
答案 0 :(得分:0)
你需要将其分解为2个操作。
move
获取一个给定的项目(例如项目3),并将其发送到给定的位置(例如#5),然后将所有项目之间移动一个。
renumber
获取已排序的列表,并更改所有显示的数字。
我会在JavaScript中执行此操作,因此在onchange
中move
将已更改的元素添加到其新位置。然后无条件地renumber
。
如果您在服务器端执行此操作,则可以使用原始位置存储隐藏的表单字段,找出每个更改,一遍又一遍地跳转,然后在结尾处重新排序。这将更容易解决,并将是一个更糟糕的用户界面。 (因此,为什么我要推动这个客户端。)