<select>
最初に同様のオプションを持つ2つのボックスがあります。
ユーザーがオプションXを選択すると<select id="first">
、同じオプションから削除する必要が<select id="second">
あり、その逆も同様です。
jQuery のようなフレームワークを追加せずに、JavaScript で解決することをお勧めします。現在、次の解決策があります。
/* first - the first check-box
second - the second check-box */
$('#first').bind('change', function () {
$('option:not(:selected)', this).clone().appendTo($('#second').empty());
});
$('#second').bind('change', function () {
$('option:not(:selected)', this).clone().appendTo($('#first').empty());
});
ただし、次の問題があります。両方の選択ボックスに 10 個のオプションがあるとします。で1つを選択した後、#first
で9つのオプションを取得します#second
。9 つの項目から 1 つを選択すると#second
、最初に選択した項目が で削除され#first
、8 つの項目しかありません#first
。この手順を繰り返して、空<select>
のオプションと 1 つのオプションのみで終了することができます。
元のオプションを常に節約できる一時オブジェクトの種類について考えました。
それを修正する方法はありますか?