【问题标题】:jQuery Sortable todo ListjQuery 可排序待办事项列表
【发布时间】:2011-04-10 04:22:35
【问题描述】:

我正在尝试建立一个待办事项列表。 http://d2burke.com/exp/todo/

我希望我的用户能够将项目标记为完成,此时项目被下拉到“完成”列表中,反之亦然。我还希望这些列表中的每一个都可以独立排序。

我正在使用一种基本的自定义方法来回移动项目,并且我使用了 jQueryUI Sortable 对它们进行排序。

我已经能够完成所有这些事情;但是,该站点(DOM?)似乎并未注册项目已从一个列表移动到另一个列表。如果我将一个项目标记为“完成”,它实际上会向下移动......并在“完成”列表中变得可排序,但我正在以序列化格式回显当前位置(因为我将在db) 并且应用程序似乎无法识别该项目已移动。

我想在项目标记为完成或不完整时强制应用重新计算项目列表。

帮助?

【问题讨论】:

    标签: jquery-ui drag-and-drop jquery-ui-sortable


    【解决方案1】:

    我觉得你应该看看 sortable 的 resfresh 方法:http://jqueryui.com/demos/sortable/

    我也会从 .refresh() 开始,看看它是否也会重新计算位置。我认为确实如此,但如果不是,您可能也需要触发另一个。

    【讨论】:

    • 好吧,我已经尝试过,多种方式的组合......刷新,refreshPositons,unbind() 然后刷新......都无济于事。不过谢谢你的想法……我确信那会是票
    【解决方案2】:

    我要评论的事情很少:-

    1) 当你“移动”一个项目时,你的移动超出了你的预期——被移动的项目周围有一个“tbody”——你的代码非常脆弱,取决于 parent.parent... 这将是噩梦维持。

    2) 你有各种 parent.parent 构造 - 将这些切换到 '.closest()' 以在树上搜索你想要操作的项目类。

    3) 你正在做绑定/解除绑定的事情 - 丢失它们并切换到 '$(document.body).on(,...)' 然后 jquery 将根据你的选择器自动添加/删除事件 - 链接一次然后忘记。

    一旦完成,错误可能会消失 - 如果没有,它仍然会更清晰,以便正确调试!

    问候

    ps。如果是我,我想我会链接这两个列表,这样它们就可以一起排序,如果一个项目从一个列表移动到另一个列表,则切换完成标志。

    这种方式用户有两种改变状态的方式,jquery 将完成所有的工作,因为你只是对一个普通的链表进行排序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 1970-01-01
      • 2020-06-06
      • 1970-01-01
      • 2021-06-25
      相关资源
      最近更新 更多