0

我可以将选定的项目从多个选择元素转移到另一个:

<script language="javascript">
    $().ready(function() {
     $('#btnOne').click(function() {
      return !$('#users_interdits option:selected').remove().appendTo('#users_autorises');
     });
     $('#btnUndoOne').click(function() {
      return !$('#users_autorises option:selected').remove().appendTo('#users_interdits');
     });
    });
</script>

此代码没有考虑“全部发送”功能,在这种情况下,当我单击“全部发送”按钮时,#users_interdits 中的所有剩余项目都将转移到#users_autorises。怎么做 ?

4

2 回答 2

1
$('#btnOne, #sendAll').on('click', function() {
    $('#users_interdits option'+($(this).is('#btnOne') ? ':selected' : ''))
        .remove()
        .appendTo('#users_autorises');
});

唯一的区别是,要发送所有选项,您不需要:selected伪选择器。

我假设您的意思是您实际上想从一个选择中清空选项并将它们移动到另一个,而不是在两个选择中都存在选项。如果是后者,只需摆脱对remove().

于 2012-07-17T13:54:39.693 回答
1

您只需删除:selected选择器即可匹配所有选项:

$("#users_interdits option").appendTo("#users_autorises");
于 2012-07-17T13:54:43.723 回答