如何从多个可放置元素中获取数据

时间:2012-11-04 04:08:17

标签: php javascript jquery post

在我的剧本中,我正在尝试使用jquery draggable& droppable,See here。我正试图从放入droppable div的每个可拖动元素中获取数据(最终放入数据库)。现在我拥有它,以便我只能从最后删除的div中获取数据。

    $('#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);
});     

我玩过它并且仍然没有得到我想要的结果。我觉得也许我的编码很粗略,需要改造,但我只需要一些想法让我朝着正确的方向努力,使其高效,并且非常感谢任何提示。

1 个答案:

答案 0 :(得分:0)

由于您的发送droppable,您只能获取上一个$(this).text()的数据。

在该上下文中$(this)是被删除的最后一个droppable。由于您需要更多,您需要替换:

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

有类似的东西:

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

将从这三个DIV发送数据。