new Option(text, value, defaultSelected, selected);

383
02 октября 2017, 03:10

Если создавать опцию как:

  var option = new Option(text, value, defaultSelected, selected);

Возникает вопрос - для того, чтобы опция была "выбрана" ей ведь нужно поставить defaultSelected и selected - в true, иначе она выбрана не будет. Зачем тогда вообще дублирование этих аргументов?

Answer 1

Как одно из применений:

const form = document.getElementById('form'), 
  select = document.getElementById('select'), 
  resetButton = document.getElementById('reset'); 
 
select.options[0] = new Option('Option 1', 'opt1', false, true); 
select.options[1] = new Option('Option 2', 'opt2', true, false); 
 
resetButton.addEventListener('click', () => { 
  form.reset(); 
});
<form id="form"> 
  <select id="select"></select> 
</form> 
<button id="reset">Reset</button>

То есть, при инициализации мы явно указываем какая опция у нас выбрана (opt1), но при сбросе формы, выбирается уже опция у которой isDefaultSelected true (opt2).

READ ALSO
Некорректный вывод текста из файла

Некорректный вывод текста из файла

Есть код который выводит в блок текст из файла:

350
В каких случаях может быть полезно использование класса Proxy в js?

В каких случаях может быть полезно использование класса Proxy в js?

В основном интересует Nodejs, но на фронтенде тоже будет интересно

288
Проверка сайта на редирект или на содержание в коде определенного текста

Проверка сайта на редирект или на содержание в коде определенного текста

ЗдравствуйтеНе разбираюсь в скриптах, но нужна помощь

250
Запрос в запросе в mongoose.js и Promise

Запрос в запросе в mongoose.js и Promise

Пытаюсь сделать сначала один запрос к mongo, потом другой на основе результата предыдущего запроса, и выдать результат

200