此「就座圖表」視圖顯示「座位」的網格。他們大多數都是從一個已經在裏面的學生開始。這些座位不是以「可放置物品」類開始的,因爲我不希望用戶將學生放到已經佔用的座位上。一旦用戶將學生拖出座位,該座位應該可以放下。元素被拖出後使元素可以放下
我也在努力從新座位上刪除droppable類,但這可能需要一個不同的問題。
我讀過的所有解決方案都表明我銷燬了原始的可拖拽。但這似乎並不適用於此,因爲此視圖包含十幾個可放入的內容。
下面的代碼包含了我嘗試做這個工作。舊座椅確實收到了類似於應該的「可投入物品」類,但似乎並未接受任何學生。
seminars.coffee
ready = ->
currSeating = $('.tyrion').val().split(" ")
$('.draggable-item').draggable
stack: '.droppable-item'
stack: '.draggable-item'
start: (event, ui) ->
console.log($(this).parent().attr("id"))
seat = $(this).closest(".seat").attr("id")-1000;
currSeating[seat] = 0
$(this).parent().addClass("droppable-item")
$(this).parent().droppable
#I've tried placing all of the droppable function lines here too. But I'm sure that isn't the correct approach.
$('.droppable-item').droppable
drop: (event, ui) ->
justdragged = $(ui.draggable)
kid = justdragged.attr("id")
seat = $(this).attr("id")-1000
currSeating[seat] = kid
$('.tyrion').val(currSeating)
$(this).append(justdragged.removeAttr('style'))
$(this).removeClass("droppable-item")
$(document).on('turbolinks:load', ready)
seatingChart.html.erb
<% def makeARow(group) %>
<div class="row">
<% group.each do |eyedee| %>
<% if eyedee and eyedee.to_i > 0 %>
<div class = "col-md-2 seat" id="<%= @counter %>">
<% student = Student.find(eyedee) %>
<div class="draggable-item" id="<%= student.id %>">
<li id="<%= student.id %>" >
<%= "#{student.firstPlusInit}" %>
</li>
</div>
</div>
<% else %>
<div class = "col-md-2 seat droppable-item" id="<%= @counter %>">
</div>
<% end %>
<% @counter = @counter += 1 %>
<% end %>
</div>
<% end %>
<div class = "container-fluid">
<% @counter = 1000 %>
<% @seminar.seating.in_groups_of(6).each do |group| %>
<% makeARow(group) %>
<% end %>
<% newgroup = [0,0,0,0,0,0] %>
<% makeARow(newgroup) %>
</div>
線
的console.log($(本).parent()。ATTR (「id」))
is me t試圖調試並查看舊座位是否可以成爲學生的家長。但是通過這條線路,沒有一個原來的座位能夠被記錄到控制檯。只有頁面加載時爲空的座位。
非常感謝您的任何見解。