2 つの要素を隣り合わせに配置しました。どちらも jQuery Chosen プラグインを使用しています。
これはコードです:
<div class="wrapper">
<select data-placeholder="Number row 1" style="width:350px;" multiple class="chzn-select">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<select data-placeholder="Number row 2" style="width:350px;" multiple class="chzn-select">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</div>
これがジャバスクリプトです。もちろん、jQuery ライブラリ、最新の Chosen プラグイン、CSS はすべて適切に含まれています。
<script>
$('.chzn-select').trigger("liszt:updated");
$('.chzn-select').chosen().change( function() {
var selectedValue = $(this).find('option:selected').val();
$(this).parent().find('option[value="'+ selectedValue +'"]:not(:selected)').attr('disabled','disabled');
});
</script>
これが、上記のスクリプトで達成したいことです。
- 同じ値を持つ 2 つの select 要素があります。たとえば、要素1で値「1」が選択されている場合、要素2でそれを無効にしたい.
- でも。要素1で値「1」の選択を解除した後も、要素2では無効のままです。それは私が望んでいることではありません。最初の要素の値を選択解除すると、他の値が再び使用できるようになります。
これを達成する方法を知っている人はいますか?
編集
ここに JSFiddle を配置しました: http://jsfiddle.net/dq97z/3/。どんな助けでも大歓迎です!