Я не могу выбрать и перетащить элемент обратно, когда закончится после капли
Здесь мой код http://jsfiddle.net/T3VY6/
Я хочу перетащить несколько строк между двумя таблицами
скрипт
$("#tbodyMember tr").click(function(e) {
$("#tbodyNotMember").find('tr').removeClass("selected");
$(this).toggleClass('selected');
});
$("#tbodyNotMember tr").click(function(e) {
$("#tbodyMember").find('tr').removeClass("selected");
$(this).toggleClass('selected');
});
$(".connectedSortable tr").draggable({
helper: function(){
var selected = $('.connectedSortable tr.selected');
if (selected.length === 0) {
selected = $(this).addClass('selected');
}
var container = $('<div/>').attr('id', 'connectedSortable');
container.append(selected.clone().removeClass("selected"));
return container;
}
});
$("#tbodyMember").droppable({
drop: function (event, ui){
$(this).find('tr:last').after($(ui.helper.children()));
$('#tbodyNotMember tr.selected').remove();
}
});
$("#tbodyNotMember").droppable({
drop: function (event, ui){
$(this).find('tr:last')
.after($(ui.helper.children()));
$('#tbodyMember tr.selected').remove();
}
});
Вам нужно связать перетаскиваемое событие с клонированным элементом tr.
Посмотрите обновленный код: http://jsfiddle.net/XN2Vh/
function draggableHelper(){
var selected = $('.connectedSortable tr.selected');
if (selected.length === 0) {
selected = $(this).addClass('selected');
}
var container = $('<div/>').attr('id', 'connectedSortable');
container.append(selected.clone().removeClass("selected").draggable({
helper: draggableHelper
}));
return container;
}
$(".connectedSortable tr").draggable({
helper: draggableHelper
});
Вам нужно сохранить обработчики обработанных данных на ваших копиях. Вы можете сделать это, вернув метод clone.
Я предпочел бы скорее переместить выбранные (и их обработчики) предметы, а не клонировать их. Вот как это сделать:
$("#tbodyMember").droppable({
drop: function (event, ui){
$(this).append($('tr.selected'));
$('#tbodyNotMember tr.selected').remove();
}
});
$("#tbodyNotMember").droppable({
drop: function (event, ui){
$(this).append($('tr.selected'));
$('#tbodyMember tr.selected').remove();
}
});
sortable()
? jsfiddle.net/7UmY7