【问题标题】:Mootools sortables serialize modifier not workingMootools sortables 序列化修饰符不起作用
【发布时间】:2011-04-27 19:18:36
【问题描述】:

我正在使用 Mootools Sortables 对列表进行排序,并且我正在序列化数据并使用修饰符,以便数据更有用。这是我的代码

var order = mySortableTable.serialize(0, function(element, index){
          return 'item=' + index;
    }).join('&');

这应该根据列表的顺序返回“item=0&item=2&item=1”(显然标签“item”不是很有用,但我会在函数正常工作时替换它)。

这没有按预期工作,返回的只是没有项目标签的“0&2&1”。此代码直接取自 Mootools 文档,因此它应该可以工作,但不能。有人知道为什么这不能正常工作吗?

非常感谢您的帮助!

【问题讨论】:

    标签: serialization mootools sortables


    【解决方案1】:

    我之前已经序列化了一个 Mootools Sortables,我发现你的代码没有错误。

    您能给我们更多的背景信息吗?例如,您创建 Sortables 对象的方式...

    如何识别 Sortables 中的元素也很重要。

    更新:

    感谢您提供给我们的新信息,我使用您的 Javascript 的简化版本构建了一个 JsFiddle,一切都按您的需要运行。您可以以此为基础来更新您的代码并找出它不工作的原因。我在 Linux 的 Firefox 3.6.15 和 Chrome 10.648 中对其进行了测试。

    【讨论】:

    • @Nicolás 不确定这是否会有所不同,但我实际上是在对表格而不是列表进行排序,所以 ... - 我有多个专辑,每个专辑都有一个单独的播放列表,每个播放列表都是可排序的。请查看 Javascript kodo.ameoto.com/0264722453 - 谢谢
    • @Wasim 使用该表,您是否正在使用类似以下内容创建 Sortables 对象:var mySortableTable = new Sortables("myList");
    • 其实没有,我只是以标签 myList 为例,使它更容易,它实际上更像<tbody id="album_1"><tr id="row1"><td></td></tr></tbody> <tbody id="album_2"><tr id="row1"><td></td></tr></tbody> - 所以一个表中有多个 tbody,因为有多个专辑。当 sortables 启动时,它会将专辑 ID 传递给 sortables 函数,因此 sortables 像这样启动 function startOrdering(album_id) ....
    • 重要的是要记住,Sortables 与将对其子对象进行排序的对象(由构造函数的第一个参数表示)相关联。这就是为什么当您使用列表(例如ul)时,此对象与该列表中的li 元素一起使用。如果您正在创建与tbody 关联的Sortables 对象,则排序将在tbody 内部的tr 元素上进行。要了解您的问题,确保您以这种方式工作很重要......
    • 我肯定是这样工作的,排序工作得很好,它把正确的排序发送到我的 AJAX url 就好了。问题仅在于修饰符,以便我可以将"label" + order 发送到我的 AJAX url 以获得更有效的 PHP 函数来保存订单。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多