0

我需要对下图中显示的项目列表进行排序

条件:
1. 排序顺序必须是连续
的 2. 不允许有多个值。

我遇到的问题是当我将值从 3 更改为 4 并且有两个值为 4 的节目

我如何在 PHP-yii 中克服这个问题?如果有人能帮助我解决其中涉及的逻辑,我将不胜感激。

在此处输入图像描述

改变后

4

1 回答 1

0

您需要将其分解为 2 个操作。

move获取给定项目(例如项目 3),并将其发送到给定位置(例如#5),然后将所有内容在两者之间移动一格。

renumber获取排序列表,并更改所有显示的数字。

我会在 JavaScript 中执行此操作,因此在onchangemove将更改的元素更改为新位置。然后renumber无条件。

如果您在服务器端进行,您可以将隐藏的表单字段与原始位置一起存储,找出每个更改,一遍又一遍地跳转,然后在最后重新排序。这将更加令人困惑,并且将是一个更糟糕的用户界面。(因此我为什么要推动这个客户端。)

于 2012-11-01T16:57:07.943 回答