主要代码如下所示。
sort : function(event, ui) {
var $helper = $('.ui-sortable-helper'), hTop = $helper.offset().top, hStyle = $helper.attr('style'), hId = $helper.attr('id');
if (first_rows.length > 1) {
$.each(first_rows, function(i, item) {
if (hId != item.id) {
var _top = hTop + (26 * i);
$('#' + item.id).addClass('ui-sortable-helper').attr('style', hStyle).css('top', _top);
}
});
}
},
start : function(event, ui) {
if (ui.item.hasClass('ui-selected') && $('.ui-selected').length > 1) {
first_rows = $('.ui-selected').map(function(i, e) {
var $tr = $(e);
return {
tr : $tr.clone(true),
id : $tr.attr('id')
};
}).get();
$('.ui-selected').addClass('cloned');
}
ui.placeholder.html('<td colspan="99"> </td>');
},
stop : function(event, ui) {
if (first_rows.length > 1) {
$.each(first_rows, function(i, item) {
$(item.tr).removeAttr('style').insertBefore(ui.item);
});
$('.cloned').remove();
first_rows = {};
}
$("#uber tr:even").removeClass("odd even").addClass("even");
$("#uber tr:odd").removeClass("odd even").addClass("odd");
}
我不确定我是否理解你想要的,无论如何代码实际做的是:
- 从第一个表中,选择多个项目;
- 通过将鼠标悬停在选定项目之一上;
- 您可以将选择的那些移动到列表中任何您想要的位置;
- 维护所有选定项目的排序顺序;
希望这就是你要找的。