Я сделал функцию, которая позволяет вам перемещать несколько выбранных опций вверх или вниз
$('#your_select_box').move_selected_options('down');
$('#your_select_boxt').move_selected_options('up');
Зависимость:
$.fn.reverse = [].reverse;
function swapWith() (Paolo Bergantino)
Сначала проверяется, может ли первый / последний выбранный параметр перемещаться вверх / вниз.
Затем он перебирает все элементы и вызывает
swapWith (element.next () или
element.prev ())
jQuery.fn.move_selected_options = function(up_or_down) {
if(up_or_down == 'up'){
var first_can_move_up = $("#" + this.attr('id') + ' option:selected:first').prev().size();
if(first_can_move_up){
$.each($("#" + this.attr('id') + ' option:selected'), function(index, option){
$(option).swapWith($(option).prev());
});
}
} else {
var last_can_move_down = $("#" + this.attr('id') + ' option:selected:last').next().size();
if(last_can_move_down){
$.each($("#" + this.attr('id') + ' option:selected').reverse(), function(index, option){
$(option).swapWith($(option).next());
});
}
}
return $(this);
}