我已经搜索过这方面的解决方案,但他们都涉及在你的程序中命名id。我没有。它涉及到一个页面,用户可以在其中创建自己的列表,这意味着我事先无法知道他们将拥有多少列表以及应该命名的列表。
但是,我尝试在循环中执行此操作以将列表名称作为id传递但没有成功。这是我在页面上创建列表的Ruby代码:
<p>
<% @lists.each do |list| %>
<div data-listname="<%= list.name %>" class="draggable ui-widget-content">
<h2><%= link_to list.name, list, "data-role" => "button", "data-inline" => "true", "data-mini" => "true" %></h2>
<div id="description"> <%= list.description %></div> <br><br>
<%= link_to "Edit", edit_list_url(list), "data-role" => "button", "data-inline" => "true", "data-mini" => "true", "data-icon" => "gear" %> <%= link_to "Delete", list_url(list), :method => :delete, "data-role" => "button", "data-inline" => "true", "data-mini" => "true", "data-icon" => "alert" %>
<br>
</div>
<% end %>
</p>
这是支持拖动的Javascript / jquery代码:
$( document ).on( "pageinit", function()
{
$( ".draggable" ).draggable({ snap: true, grid: [ 10,10 ] });
});
我正在考虑将每个列表的位置保存在cookie / localstorage中,但我不知道如何为每个列表单独执行此操作。非常感谢帮助。
答案 0 :(得分:0)
我将逐步完成这一过程。
1)在上面的代码中,添加一些动态主键或某些内容作为div的ID
2)当您拖动时,处理其开始或停止事件以将位置保存在全局变量中。
3)当你拖动只是将信息附加到全局变量时,一旦完成,通过将全局变量转换为字符串形式将其保存在本地veriable或cookie中。当需要使用JSON2.JS库进行解析时,并使用JSON.parse()和JSON.stringify()方法。
希望这能回答你的问题。