1

我的网站上有一个带有地图的页面,管理员可以将图标拖放到特定位置。阅读一些示例后,图标可以拖动,但是当我尝试刷新页面时,所有图标都会恢复到默认位置。我不知道如何将元素的位置保存到数据库中。我正在使用 jQuery 和 Rails 3。请帮助我!

谢谢!

这是我的页面的代码:

<div class="map">
    <ul class="departments-map" id="departments-map">
        <%= render :partial => 'departments/departments_short_map', :collection => @departments %>
    </ul>
</div>

Departments_short_map:

<% department ||= departments_short_map %>
<% if department.map_x.nil? or department.map_y.nil? %>
    <li id="<%= department.id %>" class="department-short-map">
        <%= department_for_collage(department) %>
    </li>
<% else %>
    <li id="<%= department.id %>" class="department-short-map" style="position:absolute; top:#{ department.map_y}px; left:#{ department.map_x}px;">
        <%= department_for_collage(department) %>
    </li>
<% end %>

这是我的 jQuery 代码:

var Collage = {
    init: function() {
        $("#departments-map li").draggable({
            scroll: false,
            stop: function(event, ui) {
                var img = {
                    "id": $(this).attr('id'),
                    "map_y": $(this).position().top.toString(),
                    "map_x": $(this).position().left.toString()
                };
                $.ajax({
                    type: "put",
                    url: "/departments/" + $(this).attr('id') + ".json",
                    data: JSON.stringify(img),
                    contentType: 'application/json',
                    dataType: 'json',
                })
            }
        });
    }
}

我究竟做错了什么?

4

0 回答 0