Вспомогательная функция в jQuery - draggable

Я пытаюсь написать вспомогательную функцию для jQueryUI, чтобы установить атрибут для элемента, перетаскиваемого из «перетаскиваемого» list в «сортируемый» список. (Причина, по которой мне нужно это сделать, заключается в том, что последняя версия jQueryUI удаляет атрибут «id» отброшенных элементов)

Однако этот атрибут не попадает в «сортируемый» список. Я что-то делаю не так с вспомогательной функцией?

$("#draggable > li").draggable({
  connectToSortable: "#sortable",
  helper: function (event) {
    var id = $(this).attr('id');
    var ret = $(this).clone();
    ret.attr('dragId', id);
    console.log('dragId: ', ret.attr('dragId'));
    return ret();
  }
});

$( "#sortable" ).sortable({
    start: function( event, ui ) {
          console.log( "sortable start: dragId=", ui.item.attr( "dragId" ) );
    },
    stop: function( event, ui ) {
          console.log( "sortable stop: dragId=", ui.item.attr( "dragId" ) );
    }
});

Когда я перетаскиваю элемент из перетаскиваемого списка в сортируемый, он выводит в консоли:

dragId: itemA
sortable start: dragId= undefined
sortable stop: dragId= undefined

Я ожидал, что он напечатает:

dragId: itemA
sortable start: dragId= itemA
sortable stop: dragId= itemA

Здесь это полный пример (с HTML) на JsBin

6
задан JoelFan 19 July 2011 в 19:28
поделиться