1

我想做一些有意义的事情,但我认为它实际上并没有包含在 jQueryUI 中。

我有一个项目列表,既可排序又可选择。

我可以一次对它们进行排序,并且可以选择多个项目。

问题是,如何将多个选定的项目排序在一起?

我得到了这个代码atm,

$( "#centermainlist" ).sortable({
            scroll: false,
            handle: ".dots",
            appendTo: 'body',
            helper: 'clone',        
        });

我应该添加什么,使其对所有选定的项目进行排序?

提前致谢 :)

一切顺利,亚历山大

4

1 回答 1

2

此功能不包含在 jQueryUI 中,因此您无需添加任何内容即可使其按您想要的方式工作。如果您想像这样对多个项目进行排序,您将需要编写自己的代码或搜索插件。

我想这不在 jQuery 中的原因是由于涉及大量的情境变量。您可能正在尝试选择三个连续项目,然后拖动以将它们全部向上或向下移动 - 但这不是唯一的可能性。如果选择的项目不在一行中怎么办?你怎么处理?

例子:

Item 1
Item 2 - selected
Item 3
Item 4 - selected
Item 5 - selected
Item 6

你如何移动这些物品?您是否强制在所选项目之间留出空间?如果是这样,当用户将项目 2 移动到第一个位置时,您是否停止移动项目(因为您必须保留空间)?或者在那种情况下你会折叠它们吗?那你还记得如果他们再次向下移动会有一个洞吗?也许您只是一开始就折叠它们(最容易实现,但可能不是所需的功能)?或者,也许您对移动强制执行顺序选择 - 如果项目都彼此相邻,您可以移动它们,如果有孔您不能?

所以这里有很多事情需要考虑。这很容易用按钮实现(选择项目,单击向上或向下按钮移动 - 只需循环并将移动应用于每个选定的项目),但拖动重新排序要困难得多。

于 2012-04-02T22:15:46.103 回答