【问题标题】:rails and jquery sortablerails 和 jquery 可排序
【发布时间】:2011-06-03 18:18:47
【问题描述】:

我正在尝试实现一个不错的 gui 来组织帖子。我想使用 jQuery UI 的可排序,以便用户可以拖放。我的数据库“显示顺序”中的每个帖子都有一个列,我按此排序

我怎样才能有效地将 jquery 对我的数据库中的 display_order 列所做的转换?

【问题讨论】:

    标签: jquery ruby-on-rails jquery-ui jquery-ui-sortable


    【解决方案1】:

    一步一步

    1. 将 onchange 处理程序附加到可排序的 ui。
    2. 每次顺序更改,循环遍历您的元素并重新计算它们的位置。
    3. 使用 ajax 请求保存新的位置数据,或添加一个“保存”按钮供用户稍后使用。

    编辑
    但我如何也获得唯一 ID
    见#2。

    var rank = 1;
    $('.my-element').each(function() {
        $(this).find('input.rank').val(rank++);
    });
    

    至于“贵”,那是你的选择。如上所述,您可以添加“保存”按钮。

    【讨论】:

    • 那是一个昂贵的操作。以及我如何跟踪哪条记录在哪里。 .serialize() 只返回他们的新订单,但我如何获得唯一 ID,以便更新数据库记录。我喜欢做 AJAXy,但每次用户执行 drop 时执行的操作(2 次更新)是一项昂贵的操作 - 这可能会导致大量服务器负载
    • @set.vargo,如果您已经实现了排序并且它太慢而无法使用,那么这是一回事。但在你有一个可行的实现之前,我建议不要担心性能。过去,我一直因为这样的过度思考而一次又一次地被烧毁,所以只是想建议你不要担心性能,直到性能出现问题;-)另外,你总是可以通过分页或使用不同的排序来重构算法或其他东西,如果它太慢或导致过多的服务器流量。
    猜你喜欢
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 2011-01-06
    • 2011-03-24
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    相关资源
    最近更新 更多