2013-04-15 31 views

回答

0

我解決了這個問題,周圍的工作。我現在只是從原來的TD中刪除內容。我添加了一張額外的桌子作爲垃圾桶。

在線樣本做它應該做的一切。但是,我不確定這是否是最有效的方法。如果涉及到jquery,我相當缺乏經驗。

因此,如果任何人有一個更優雅的解決方案,做同樣的事情,我很願意學習:)

以防萬一,這裏是JQ-碼我用:

jQuery(function($) { 
var td1 = $("#table1 td"); 
var td2 = $("#table2 td"); 
var bin = $("#trash td"); 

td1.draggable({ 
    cursor: "move", 
    appendTo: "body", 
    helper: "clone", 
    opacity: "0.5", 
    revert: "invalid" 
}); 

td2.draggable({ 
    cursor: "move", 
    appendTo: "body", 
    helper: "clone", 
    opacity: "0.5", 
    revert: "invalid" 
}); 

td2.droppable({ 
    accept: 'td', 
    tolerance: "pointer", 
    drop: function (event, ui) { 
     // check from which table we are dragging 
     var fromTable = $(ui.draggable).closest("table").attr("id"); 
     // check from which td we are dragging 
     var fromTD = $(ui.draggable).attr("id"); 
     // get the inner html content for the td we are dragging the div from 
     var cell = $(ui.draggable).html(); 
     // insert the complete html content into the target drop cell 
     $(this).html(cell); 
     // for purposes of result logging/debugging 
     var location = $(this).attr('id'); 
     $('#result').html('Moved '+cell+'<br>From '+fromTable+'/'+fromTD+' (table/td)<br>To cell: '+location+'<br>complete with containing DIV'); 
     // in case we moved cell content within table2, remove the original content 
     if(fromTable == "table2"){ 
      $(ui.draggable).html('<div></div>'); 
     } 
    } 
}); 

bin.droppable({ 
    accept: 'td', 
    tolerance: "pointer", 
    drop: function (event, ui) { 
     // check if we are dragging from table 2 
     var fromTable = $(ui.draggable).closest("table").attr("id"); 
     if(fromTable != "table2"){ 
      $('#result').html('You cannot move content<br>from '+fromTable+' to the trash bin...'); 
      return false; 
     } 
     else { 
      // check from which td we are dragging 
      var fromTD = $(ui.draggable).attr("id"); 
      // get the inner html content for the td we are dragging the div from 
      var cell = $(ui.draggable).html(); 
      // insert the complete html content into the target drop cell 
      $(this).html(cell); 
      // for purposes of result logging/debugging 
      var location = $(this).attr('id'); 
      $('#result').html('Moved '+cell+'<br>From '+fromTable+'/'+fromTD+' (table/td)<br>To the trash bin'); 
      // replace the content of the source td after drop 
      $(ui.draggable).html('<div></div>'); 
     } 
    } 
}); 

});