2014-04-12 229 views
0

我有表並使用jquery拖放來交換每個td與其他值的值。我這樣做是使用以下:使用jquery拖放拖放可拖放類的名稱使用jquery拖放

 $("#a tr td").draggable({ 
      appendTo: "body", 
      helper: 'clone', 
      cursor: "move", 
      revert: "invalid" 
     }); 


     $('#a tr td').droppable({ 
      accept: function(ui, item) { 
      if($(this).html().trim().length != 0) 
       return false; 
     }, 

      drop:function (event, ui) { 
      $(this).append(ui.draggable.text()); 
      var draggableId = ui.draggable.attr("class"); 
      var droppableId = $(this).attr("class"); 
     $("ui.draggable").switchClass("draggableId", " droppableId"); 
     //$(this).switchClass("droppableId", "draggableId"); 
      $(ui.draggable).empty(); 

     } 
     }); ` 

但是從上面我可以換隻與TD相關的值,但我想用TD元素相關聯的類名進行更改。我試過switchClass,但沒有運氣。請建議我實現此目的的方法。

演示:http://jsfiddle.net/ggbhat/BLJFp/3/

在撥弄你可以看到數可以換,我想背景顏色也發生了變化(通過交換類名)。

回答

1

在你降功能,您可以交換類屬性是這樣的:

drop: function (event, ui) 
{ 
    var draggable  = $(ui.draggable) 
     , droppable  = $(this) 
     , draggableClass = draggable.attr('class') 
     , droppableClass = droppable.attr('class'); 

    droppable.append(draggable.text()); 
    draggable.attr('class', droppableClass); 
    droppable.attr('class', draggableClass); 
    draggable.empty(); 
} 

退房更新Fiddle here

+0

我希望課程名稱可以更改爲可拖動和可拖放。如果可拖動爲類名「A」並且可拖放爲類名「B」,則它應該改爲可拖動的類名「B」和可放置的類名「A」。在我的情況下,我需要改變背景顏色。 – ggbhat

+0

@ggbhat我已經更新了我的答案,向您展示瞭如何做到這一點的例子。 –

+0

謝謝!有用.... – ggbhat