これは、非常に単純な jQuery 関数で実行できます。
$('.transfer').on('click',function(){
$($(this).data('from'))
.find(':selected')
.remove()
.appendTo($(this).data('to'))
.prop('selected',false);
});
次の HTML を想定します。
<select id="one" multiple>
<option>a</option>
<option>b</option>
<option>c</option>
<option>d</option>
</select>
<select id="two" multiple></select>
<button class="transfer" data-from="#one" data-to="#two">»</button>
<button class="transfer" data-from="#two" data-to="#one">«</button>
--- jsFiddle デモ ---
これから小さな jQuery プラグインを作成し、2 つの要素を与えてselect
転送ボタンと機能を作成することもできますが、関数として実行することもできます。option
プラグインを使用すると、要素を前後に移動しても元の順序を維持するなど、より複雑な機能を追加することもできます。