Как сделать синхронизацию двух полей select?

200
05 июля 2018, 01:50

Имеется два поля select c 4 опциями в каждом.

  • Вариант 1 выбран по умолчанию (selected) и включает в себя только option 1.

  • Вариант 2 даёт возможность выбора option 1 и option 2.

  • Вариант 3 даёт возможность выбора option 1, option 2 и option 3.

  • Без вариантов даёт возможность выбрать только No options, все остальные опции в селекте должны иметь атрибут disabled.

<select id="var_numbers"> 
  <option value="1" selected>Вариант 1</option> 
  <option value="2">Вариант 2</option> 
  <option value="3">Вариант 3</option> 
  <option value="0">Без вариантов</option> 
</select> 
 
 
<select id="options"> 
  <option value="1" selected>option 1</option> 
  <option value="2" disabled>option 2</option> 
  <option value="3" disabled>option 3</option> 
  <option value="0" disabled>No options</option> 
</select>

Answer 1

var opt = document.getElementById("options"); 
document.getElementById("var_numbers").addEventListener("change", function() { 
  var currentVal = this.value; 
  if (currentVal == 0) { 
    for (var i = 0; i < opt.children.length; i++) { 
      opt.children[i].disabled = true; 
    } 
    opt.children[opt.children.length - 1].disabled = false; 
    opt.children[opt.children.length - 1].selected = true; 
  } else { 
    for (var i = 0; i < opt.children.length; i++) { 
      if (i < currentVal) { 
        opt.children[i].disabled = false; 
      } else { 
        opt.children[i].disabled = true; 
      } 
    } 
    opt.children[0].selected = true; 
  } 
});
<select id="var_numbers"> 
  <option value="1" selected>Вариант 1</option> 
  <option value="2">Вариант 2</option> 
  <option value="3">Вариант 3</option> 
  <option value="0">Без вариантов</option> 
</select> 
 
 
<select id="options"> 
  <option value="1" selected>option 1</option> 
  <option value="2" disabled>option 2</option> 
  <option value="3" disabled>option 3</option> 
  <option value="0" disabled>No options</option> 
</select>

READ ALSO
сравнение элементов массивов на js

сравнение элементов массивов на js

Хочу на js сравнить два массива и выстроить select и выделить все option которые соответсвуют условиюВот код:

152
Проблемка с модальным окном

Проблемка с модальным окном

Вот есть такое модальное окно:

197
Не работает плагин gulp-sourcemap

Не работает плагин gulp-sourcemap

Имеется такой gulpfile

337