2016-09-21 106 views
0

此「就座圖表」視圖顯示「座位」的網格。他們大多數都是從一個已經在裏面的學生開始。這些座位不是以「可放置物品」類開始的,因爲我不希望用戶將學生放到已經佔用的座位上。一旦用戶將學生拖出座位,該座位應該可以放下。元素被拖出後使元素可以放下

我也在努力從新座位上刪除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試圖調試並查看舊座位是否可以成爲學生的家長。但是通過這條線路,沒有一個原來的座位能夠被記錄到控制檯。只有頁面加載時爲空的座位。

非常感謝您的任何見解。

回答

0

爲了解決這個問題,我意識到一個更好的方法是創建一個不屬於座位的「臨時臨時區域」。當用戶將一名學生放到一個已經佔用的座位上時,該老學生將被移動到臨時區域。

我從來沒有弄清楚如何使頁面加載後,divs droppable,但現在我不再需要該功能。好像有一天別人需要的東西。

相關問題