Используйте 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);
}
DEMO
UPDATE: Использование 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);
DEMO
Возможный дубликат: http://stackoverflow.com/questions/6601028/how-to-populate-the-options-of-a-select-element-in-javascript –
Если вы читаете этот файл на английском языке , вы, вероятно, хотите сгенерировать массив с использованием PHP или любого используемого вами языка сервера. – davidgoli