Im пытается заполнить dropmenu, как описано в заголовке. На данный момент я имею этот код:Настраивание выпадающего меню HTML с помощью функции JavaScript
<form id="myForm">
<select id="selectNumber">
<option>Choose a number</option>
<script>
var myArray = new Array("1", "2", "3", "4", "5");
for(i=0; i<myArray.length; i++) {
document.write('<option value="' + myArray[i] +'">' + myArray[i] + '</option>');
}
</script>
</select>
</form>
Это прекрасно работает, но у меня есть большое количество переменных в моем массиве, поэтому я хочу, чтобы поместить скрипт в файл яваскрипта как функцию, а затем вызвать его в html для эстетических целей.
Так это то, что я пытался в яваскрипта файле
function populate(){
var myArray = new Array("1", "2", "3", "4", "5");
for(i=0; i<myArray.length; i++) {
document.write('<option value="' + myArray[i] +'">' + myArray[i] + '</option>');
}
}
А потом я пытался вызвать этот метод в HTML так:
<form id="myForm">
<select id="selectNumber" onclick="populate()">
<option>Choose a number</option>
</select>
</form>
и это не сработало, это просто привел новую страницу и номера, но не в выпадающем меню, чтобы выбрать.
Любые идеи о том, как исправить это были бы оценены
Не используйте 'document.write' вообще. Он используется для особых целей, а не часто. В этом случае вам понадобится document.createElement, appendChild. – dfsq