ロード時には、ある意味では、スナップショットオリジナルのオプションはslice()
経由です。次に、イベントリスナーで、元の選択ボックスで選択した内容に基づいてフィルタを適用します。選択したオプションのグループがあれば、宛先の選択ボックスを空にして、フィルタリングされたものと再集計します。擬似コードで
const destination = document.getElementById('destination');
const originalOptions = Array.from(destination.options).slice(0);
document.getElementById('origin').addEventListener('change', e => {
const currentOptions = Array.from(originalOptions).filter(option => option.value !== e.currentTarget.value);
destination.length = 0;
currentOptions.forEach(option => destination.appendChild(option));
});
<select id="origin">
<option value="paris">Paris</option>
<option value="london">London</option>
<option value="australia">Australia</option>
</select>
<select id="destination">
<option value="london">London</option>
<option value="paris">Paris</option>
<option value="australia">Australia</option>
</select>
:あなたは、各select要素の変更イベントにリスナーを添付します。変更するたびに、他の要素の一致する都市を無効にし、以前に無効になっている都市(存在する場合)を再び有効にします。 – vlasits
ソースコード?どのように見えるのか、どのようなクラス名があるのかなどを知る必要がありますか? –
コードは次のとおりです。https://jsfiddle.net/7q47268o/ –