Как динамически добавить атрибут «выбранный» для выбора опции?

#javascript #options

#javascript #html-выберите

Вопрос:

У меня есть формула автоматического создания формы на JavaScript. Я борюсь с атрибутом «выбранный» опции в списке выбора. Я хотел бы, чтобы была выбрана опция, соответствующая const c (в данном случае я хотел бы, чтобы была выбрана опция «Формирование»).

Как я могу этого добиться?

 const c = "Formation";                

const training_level = document.createElement('select');
training_level.setAttribute('value', c)
training_level.setAttribute('id', 'rec_mode')
training_level.required = true

var j = new Array("-- Type de diplôme --","Formation","Brevet","Bac","Bac  1"),    
var options = '';

for (var i = 0; i < j.length; i  ) {
options  = '<option value="'   j[i]  '">'   j[i]   '</option>';
}

training_level.appendChild(options);
  

Ответ №1:

Предположим, у вас есть опция с идентификатором opt1, например

 <option value="your_value" id="opt1">option text</option>
  

затем вы можете сделать

 document.getElementById('opt1').setAttribute('selected', 'selected')
  

P.S. Это работает, только если вы используете native selects. Другой вариант — использовать поддельные выборки, хотя

Ответ №2:

Проверьте, c совпадает ли значение со значением j[i] . Используйте значение этого условия для заполнения selected атрибута:

 for (var i = 0; i < j.length; i  ) {
    var selected = (c == j[i]) ? "selected" : "";
    options  = '<option value="'   j[i]  '" selected="'   selected   '">'   j[i]   '</option>';
}