0
我已經搜索瞭解決方案,但它們都涉及在程序中命名id。我的不是。它涉及到一個頁面,用戶可以創建他們自己的列表,這意味着我無法事先知道他們將擁有多少個列表以及他們應該命名什麼。保存沒有標識的可拖動jQuery的位置
但是,我試圖在循環中通過列表名稱作爲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中,但我不知道如何爲每個列表單獨執行此操作。幫助將不勝感激。
在列表的div中已經有一個動態生成的ID,如「<%= list.name%>」所示。問題是我無法弄清楚如何將這個ID傳遞給開始/停止事件並保存/解析位置。 – Rezk
javascript中的任何事件都會有一個參數e,所以在你的start和stop方法中start:function(e){使用「e」變量可以得到被拖動的元素的id} –
嘗試使用function(e ){var id = e.currentTarget.id; };這是你可以得到元素@ Rezk –