jquery - 将 JQuery Sortable toArray 与 connectWith 结合使用;如何获取所有元素的ID?

标签 jquery jquery-ui jquery-ui-sortable

给定 n 个可跨列表排序的 m 个项目列表,如何从上到下获取所有列表中所有项目的 ID 总体列表(包括对参与者和非参与者进行排序)?

我的项目列表看起来像这样:

Category 1
- (id=a) Item 1A
- (id=b) Item 1B
Category 2
- (id=c) Item 2A
- (id=d) Item 2B
Category 3
- (id=e) Item 3A
- (id=f) Item 3B

这些项目可以跨类别排序,并通过connectWith连接(请参阅下面的代码)。例如,项目 2B 可以拖放到类别 1 中。

我可以使用 updatetoArray 来获取要从中拖动的部分和要拖动到的部分的 ID,但是有没有一种干净的方法可以访问所有这些?我需要以某种方式手动构建它吗? 如何获取按当前排序顺序的所有 ID 列表?

例如,如果我将项目 2B 拖到类别 1 中的第一个位置,我可以获得 update 两次触发的两个数组列表,第一个包含“d”(我移动的列表) from),第二个包含“c,a,b”(我移至的列表)。如何获得包含“c、a、b、d、e、f”的列表?这是在单击按钮时发生的,因此如果有更好的机制来获取信息,我就不会局限于更新

Here's a JFIDDLE demo到目前为止我所拥有的。

最佳答案

似乎没有本地函数可以做到这一点,所以我 created a demo它会迭代所有 .sortable 元素以创建一个数组并使用 Firebug 记录到 Chrome 或 Firefox 中的控制台。我还将 update 更改为 receive,因此它只触发一次(请参阅 jQueryUI sortable documentation )。

关于jquery - 将 JQuery Sortable toArray 与 connectWith 结合使用;如何获取所有元素的ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6207576/

相关文章:

ruby-on-rails - 如何为 Rails 制作可排序表格插件?

javascript - 放下时制作可拖动的快照

jquery - 如何使用 jQuery UI 在页面上拥有多个模式表单?

javascript - MIDI.js 音符持续时间不会改变

string - Grails - sortableColumn - 强制对数字字符串进行数字排序

javascript - 如何使用 javascript/jquery 检测视频何时退出全屏模式

jquery - 在这里解释为什么 scrollTop() 总是返回 0

javascript - 如何在 jquery 中链接这些效果?队列? promise ?

javascript - $(document).on ('click' 在 Chrome 中不起作用

jQuery UI 可排序 - 当手动将项目从一个列表移动到另一个列表时触发可排序事件