如何实现执行AJAX HTTP请求的jQueryUI可排序列表?

时间:2011-10-26 22:12:38

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

我正在使用Ruby on Rails 3.1.1和jQueryUI 1.8.14。我想实现一个jQueryUI sortable list并在我的应用程序数据库中保存相关的项目位置更改。实现\ make that 我计划执行一个AJAX HTTP请求(当然,包括正确的信息\数据,以便正确地使这个有效\尽可能简单)每次用户更改项目位置

如何在商品订单更改时执行AJAX HTTP请求?您建议考虑通过AJAX HTTP请求发送哪些数据?

1 个答案:

答案 0 :(得分:1)

我最近使用了jqueryUI sortable jquery ui sortable doc

我使用名为'order_by'INT字段的db字段。

你需要的只是将jqueryUI sortable()应用于你想要的元素列表,然后通过ajax将序列化的新命令(检查可排序的ui选项,它有serialize或toArray {option})传递给你的控制器页面

您将新订单保存到数据库中并且已经完成了。在我的情况下,每次保存新订单时,每个'order_by'字段都会更新。

修改

$("#test-list").sortable({
                    cursor: 'move',
                    placeholder:'sortbale-highlight-holder',
                    tolerance:'pointer',
                    update: function() {
                    new_order = $(this).sortable("serialize");
                    somenthing_was_ordered = 1;
                }
        });
我使用的逻辑是:

用户更改订单,我在全局变量中设置新订单。 然后我使用提交输入发送ajax请求并保存新订单。

在 更新:function(){ 您可以随时启动请求,因为您可以随时将新订单返回到ajax调用,但我更喜欢为服务器请求保存一些内存:)