Javascript jQuery可排序上移/下移倍数<;选项>;在<;选择>;

Javascript jQuery可排序上移/下移倍数<;选项>;在<;选择>;,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用以下代码移入,但当我选择多个选项时,它无法正常工作 如何上下移动多个元素 <script type="text/javascript"> \$().ready(function() { //for moving elements up and down \$('.up-button').click(function(){ before = \$('#select2 option:selected').prev(); \$('#select2 opt

我正在尝试使用以下代码移入,但当我选择多个选项时,它无法正常工作

如何上下移动多个元素

<script type="text/javascript">  
  \$().ready(function() { 
//for moving elements up and down
\$('.up-button').click(function(){

 before = \$('#select2 option:selected').prev();
    \$('#select2 option:selected').insertBefore(before);
    });

\$('.down-button').click(function(){
   after = \$('#select2 option:selected').next();
    \$('#select2 option:selected').insertAfter(after);
}); 
   });  
 </script>

\$().ready(函数(){
//用于上下移动元素
\$('.up按钮')。单击(函数(){
before=\$('select2选项:selected').prev();
\$(“#select2选项:selected”).insertBefore(before);
});
\$('.down按钮')。单击(函数(){
after=\$('\#select2选项:selected')。下一步();
\$('#select2选项:selected')。插入后面(后面);
}); 
});  

您可以在

中找到参考,该参考稍微改变了上/下逻辑:

$('.up-button').click(function(){
  $('#select2 option:selected:first-child').prop("selected", false);
  before = $('#select2 option:selected:first').prev();
    $('#select2 option:selected').detach().insertBefore(before);

});

$('.down-button').click(function(){
  $('#select2 option:selected:last-child').prop("selected", false);
  after = $('#select2 option:selected:last').next();
    $('#select2 option:selected').detach().insertAfter(after);
}); 

稍微更改了上/下逻辑:

$('.up-button').click(function(){
  $('#select2 option:selected:first-child').prop("selected", false);
  before = $('#select2 option:selected:first').prev();
    $('#select2 option:selected').detach().insertBefore(before);

});

$('.down-button').click(function(){
  $('#select2 option:selected:last-child').prop("selected", false);
  after = $('#select2 option:selected:last').next();
    $('#select2 option:selected').detach().insertAfter(after);
}); 

稍微更改了上/下逻辑:

$('.up-button').click(function(){
  $('#select2 option:selected:first-child').prop("selected", false);
  before = $('#select2 option:selected:first').prev();
    $('#select2 option:selected').detach().insertBefore(before);

});

$('.down-button').click(function(){
  $('#select2 option:selected:last-child').prop("selected", false);
  after = $('#select2 option:selected:last').next();
    $('#select2 option:selected').detach().insertAfter(after);
}); 

稍微更改了上/下逻辑:

$('.up-button').click(function(){
  $('#select2 option:selected:first-child').prop("selected", false);
  before = $('#select2 option:selected:first').prev();
    $('#select2 option:selected').detach().insertBefore(before);

});

$('.down-button').click(function(){
  $('#select2 option:selected:last-child').prop("selected", false);
  after = $('#select2 option:selected:last').next();
    $('#select2 option:selected').detach().insertAfter(after);
}); 

使用
.first()
.last()
,因为您要选择多个元素

//for moving elements up and down
$('.up-button').click(function(){
 before = $('#select2 option:selected').first().prev();
    $('#select2 option:selected').insertBefore(before);

});

$('.down-button').click(function(){
   after = $('#select2 option:selected').last().next();
    $('#select2 option:selected').insertAfter(after);
}); 
使用
.first()
.last()
,因为您要选择多个元素

//for moving elements up and down
$('.up-button').click(function(){
 before = $('#select2 option:selected').first().prev();
    $('#select2 option:selected').insertBefore(before);

});

$('.down-button').click(function(){
   after = $('#select2 option:selected').last().next();
    $('#select2 option:selected').insertAfter(after);
}); 
使用
.first()
.last()
,因为您要选择多个元素

//for moving elements up and down
$('.up-button').click(function(){
 before = $('#select2 option:selected').first().prev();
    $('#select2 option:selected').insertBefore(before);

});

$('.down-button').click(function(){
   after = $('#select2 option:selected').last().next();
    $('#select2 option:selected').insertAfter(after);
}); 
使用
.first()
.last()
,因为您要选择多个元素

//for moving elements up and down
$('.up-button').click(function(){
 before = $('#select2 option:selected').first().prev();
    $('#select2 option:selected').insertBefore(before);

});

$('.down-button').click(function(){
   after = $('#select2 option:selected').last().next();
    $('#select2 option:selected').insertAfter(after);
}); 

这可以正常工作,但最后一个元素在单击时被删除down@R谢谢你的解决方案。选择一个对象时,它可以正常工作,但当选择多个对象时,其他对象将被删除…这可以正常工作,但单击后,最后一个元素将被删除down@R谢谢你的解决方案。选择一个对象时,它可以正常工作,但当选择多个对象时,其他对象将被删除…这可以正常工作,但单击后,最后一个元素将被删除down@R谢谢你的解决方案。选择一个对象时,它可以正常工作,但当选择多个对象时,其他对象将被删除…这可以正常工作,但单击后,最后一个元素将被删除down@R谢谢你的解决方案。它适用于一个选定对象,但当多个选定对象时,其他对象将被删除…解决方案需要。不(“:last child”)/。不(“:last child”)/。不(“:first child”)解决方案需要。不(“:last child”)/。不(“:first child”)解决方案需要。不(“:last child”)/。不(“:first child”)解决方案需要