Ответ 1
Используйте цикл for
для итерации по вашему массиву. Для каждой строки создайте новый элемент option
, назначьте строку как innerHTML
и value
, а затем добавьте ее в элемент select
.
var cuisines = ["Chinese","Indian"];
var sel = document.getElementById('CuisineList');
for(var i = 0; i < cuisines.length; i++) {
var opt = document.createElement('option');
opt.innerHTML = cuisines[i];
opt.value = cuisines[i];
sel.appendChild(opt);
}
ОБНОВЛЕНИЕ: Использование createDocumentFragment
и forEach
Если у вас есть очень большой список элементов, которые вы хотите добавить в документ, он может быть неактивным для добавления каждого нового элемента по отдельности. DocumentFragment
действует как объект документа с небольшим весом, который может использоваться для сбора элементов. Когда все ваши элементы готовы, вы можете выполнить одну операцию appendChild
, чтобы DOM обновлялся только один раз вместо n
раз.
var cuisines = ["Chinese","Indian"];
var sel = document.getElementById('CuisineList');
var fragment = document.createDocumentFragment();
cuisines.forEach(function(cuisine, index) {
var opt = document.createElement('option');
opt.innerHTML = cuisine;
opt.value = cuisine;
fragment.appendChild(opt);
});
sel.appendChild(fragment);