Вы не проявили никаких собственных усилий, но, учитывая, что вы новичок и решение довольно простое, вот фрагмент, демонстрирующий желаемое поведение.Всякий раз, когда изменяется один из вариантов выбора, перебирайте опции в другом и устанавливайте их атрибуты disabled
, либо на true
, если он имеет то же значение, что и выбранный в измененном выборе, в противном случае на false
.
Кстати, ваш первый выбор с id="tip_rola1"
также должен иметь атрибут name
, установленный на "tip_rola1"
вместо "tip_rola2"
.
function selectChangehandler(event) {
let thisSelect = event.target;
let otherSelect = document.getElementById(`tip_rola${thisSelect.id === 'tip_rola1' ? 2 : 1}`);
otherSelect.querySelectorAll('option').forEach(function(option) {
option.disabled = option.value === thisSelect.value;
});
}
document.getElementById('tip_rola1').addEventListener('change', selectChangehandler);
document.getElementById('tip_rola2').addEventListener('change', selectChangehandler);
<span>select 1</span>
<select class="form-control show_data1" id="tip_rola1" name="tip_rola1">
<option selected=""> Select</option>
<option value="8"> 70</option>
<option value="9"> 76</option>
<option value="10"> 80</option>
<option value="11"> 84</option>
<option value="12"> 35</option>
<option value="13"> 38</option>
<option value="14"> 40</option>
<option value="15"> 42</option>
</select>
<span>select 2</span>
<select class="form-control show_data2" id="tip_rola2" name="tip_rola2">
<option selected=""> Select</option>
<option value="8"> 70</option>
<option value="9"> 76</option>
<option value="10"> 80</option>
<option value="11"> 84</option>
<option value="12"> 35</option>
<option value="13"> 38</option>
<option value="14"> 40</option>
<option value="15"> 42</option>
</select>