Привязка jQuery-события "drop" к удаленному элементу - PullRequest
0 голосов
/ 29 марта 2012

У меня есть две таблицы, пытающиеся передать строки между таблицами с помощью перетаскивания и отбрасывания из jquery ui

Я умею просто перетаскивать, но «выпадающие» элементы не «сбрасываются». Как и в случае, когда я перемещаю строку из таблицы 1 в таблицу 2, это работает. Однако, если я попытаюсь переместить другую строку из таблицы 1 в таблицу 2, она будет работать только в том случае, если я уроню ее на один из элементов, который изначально был в таблице 2, когда страница загружалась. Он не будет добавлен к элементам из таблицы 1, которые я перенес в таблицу 2.

Как мне перепривязать это событие, чтобы сделать выпадающий элемент сбрасываемым?

$("#inventor tr").draggable({
            helper: "clone",
            start: function(event, ui) {
                c.tr = this;
                c.helper = ui.helper;

            }
    });

var c = {};

    $("#invention tr").droppable({
        drop: function(event, ui) {
                    var $row = $(c.tr); 
                    var name = $row.find('td:eq(0)').html();
                    var age = $row.find('td:eq(1)').html();
                    var sex = $row.find('td:eq(2)').html();
                    var group = $row.find('td:eq(3)').html();
                    var pref = $row.find('td:eq(4)').html();



                    var stringToAppend = "<tr><td>"+name+"<span>"+age+" &bull; "+sex+" &bull; "+group+"</span></td></tr>";



             $("#invention table tbody").append(stringToAppend);

          $(c.tr).remove(); //remove from previous
          $(c.helper).remove(); //remove clone
        }
    });

1 Ответ

0 голосов
/ 25 мая 2012

Возможно, будет лучше связать функциональность droppable с table вместо каждого отдельного элемента tr.В конце концов, это таблица, с которой вы сбрасываете tr s.

...