1

我目前正在 App Engine 中制作一个 webapp,用户可以在其中创建多个带有文本的“框”(div)。这些“框”可以在页面上拖动。我使用 JQuery UI Draggable 插件实现了拖放功能。我可以使用以下方法轻松地在 mouseup 上显示每个框的当前坐标:

$(this).offset();

每个盒子在数据存储中都有一个实体,其中包含它各自的内容。我正计划为包含它的坐标的盒子实体创建另一个成员。这样,每次用户在 webapp 上登录他的帐户时,这些框都会出现在上次出现的位置。我的问题是,我不确定每次在页面上拖动一个框时如何更新数据存储。老实说,我不确定我是否正确地解决了这个问题。我将不胜感激有关如何实现这一目标的任何指导。

这是页面的呈现方式,只是为了提供进一步的见解:

 {% for box in boxes %}
 <div draggable="true" id="box" class="ui-widget-content draggable">
    <div id="title">
 {% if box.title %}
     {{ box.title }}<br>
 {% else %}
     Untitled<br>
 {% endif %}
 </div>
 <div id="content">
    {{ box.content }}<br>
 </div>
 <div id="menu">
    <a href="/edit/{{ box.key.id }}">View/Edit</a>&nbsp;
    <a href="/delete/{{ box.key.id }}">Delete</a>
 </div>
</div>
{% endfor %}

再次感谢。

4

1 回答 1

2

您需要使用 JQuery 来捕获“drop”事件,并向您的应用程序发出 AJAX 请求,发布框的 ID 和新坐标,以便它可以在数据存储中更新它们。

于 2011-01-19T04:31:23.643 回答