Показать сообщение отдельно
  #1 (permalink)  
Старый 02.09.2018, 08:56
Аспирант
Отправить личное сообщение для Alessio18911 Посмотреть профиль Найти все сообщения от Alessio18911
 
Регистрация: 18.06.2017
Сообщений: 87

Вставить 1 массив в 1 селект
Привет! Решаю задачу: есть 3 селекта (дни, месяцы, годы). Нужно в каждый селект вставить соответствующий ему массив. Не знаю, как написать цикл в такой ситуации, т.е. нужно, чтобы в селект #day были вставлены элементы из values.days, в #month - values.month и т.д. Пробовал сделать вложенный цикл, но он, естественно, тогда каждому из селектов передаёт значения всех элементов values... Начал писать сам цикл на 17 строке, но дальше ума не приложу, как его доделать. Пожалуйста, подскажите как.
<div class="select-wrapper">
        <select id="day" name="day"></select>            
        <select id="month" name="month"></select> 
        <select id="year" name="year"></select> 
</div>

const selects = {
     selectDay: document.querySelector('#day'),
     selectMonth: document.querySelector('#month'),
     selectYear: document.querySelector('#year'),
  },

   values = {
          days: ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
          months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],
          years: []
};

for (let i = 1950; i < 2150; i++) {
      values.years.push(i);
}

for (let i in selects) {
     
}

function createOptions(select, arr) {
     for (let i = 0; i < arr.length; i++) {
          const item = document.createElement('option');
	  item.text = arr[i];
	  select.appendChild(item);
     }
}
Ответить с цитированием