2012-11-04 24 views
0

在我的腳本中,我正在嘗試使用jquery draggable & droppable,See here。我試圖從每個可拖放的div中拖放的元素獲取數據(最終放入數據庫)。現在我擁有它,以便我只能從最後一次放棄的div中獲取數據。我如何從多個droppable元素中獲取數據

$('#sortcard, #dropbox, #dropbox1').droppable({ 
     accept: '.sorting', 
     hoverClass: 'border', 
     tolerance: 'touch', 
     drop: function(e, ui) { 
      $(this).append(ui.draggable.html() + '<br/>'); 
      $("#add_friend").show().fadeOut(12000); 
      $(e.target).droppable("disable"); 
      $(e.target).append("<input type='button' name='Sub' value='clear'/>").click(function() { 
      $(this).empty().droppable("enable"); 
      }); 

      var dropbox = $('#dropbox').html(); 
      var dropbox1 = $('#dropbox1').html(); 

      if(dropbox && dropbox1 !== '') { 
       $.post("account_main.php", {data: $(this).text()}, function(data) { 
        $('#demo').html(data); 
       });  
      } 
      } 
     }); 

我想的罪魁禍首可能是

{data: $(this).text()}, function(data) { 
    $('#demo').html(data); 
});  

我已經玩弄它,仍然沒有得到我渴望的結果。我覺得也許我的編碼很粗略,需要改進,但我只是需要一些想法來推動我朝着正確的方向前進,以使它更有效率,並且對任何提示都會非常感激。

+0

對不起,我不明白你的問題。 –

+0

縮進你的代碼,更容易按照這種方式。 :-) – techfoobar

+0

更好的@techfoobar? – Octavius

回答

0

您只能從最後droppable獲取數據,因爲您發送的是$(this).text()

在這方面$(this)是最後droppable被丟棄。既然你要多的是,你要替換:

{data: $(this).text()} 

的東西,如:

{ 
    sortcard: $('div#sortcard').text(), 
    dropbox: $('div#dropbox').text(), 
    dropbox1: $('div#dropbox1').text() 
} 

將發送來自這三個資料覈實數據。