使用jQueryUI对多个选定项进行排序

时间:2012-04-02 22:03:21

标签: javascript jquery jquery-ui jquery-ui-sortable jquery-ui-selectable

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

我有一个项目列表,可以排序和选择。

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

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

我的代码是atm,

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

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

提前致谢:)

一切顺利, 亚历山大

1 个答案:

答案 0 :(得分:2)

此功能未包含在jQueryUI中,因此您无法添加任何内容以使其按您希望的方式工作。如果要对多个项目进行排序,则需要编写自己的代码或搜索插件。

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

示例:

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

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

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