Code
<FORM name="myForm">
<select id="mySelectId" name="mySelect">
<option value="str0"> Строка списка 0 </option>
<option value="str1"> Строка списка 1 </option>
<option value="str2"> Строка списка 2 </option>
</select>
</FORM>
Как добавить новый элемент в список SELECT ?
Все HTML элементы OPTION доступны в javascript-скрипте через свойство options объекта Select, которое является коллекцией элементов (упрощенно говоря массивом) элементов Option.
Code
var objSel = document.getElementById("mySelect");
//Создаем новый объект Option и заносим его в коллекцию options
objSel.options[0] = new Option("Строка списка 0", "str0");
objSel.options[1] = new Option("Строка списка 1", "str1");
objSel.options[2] = new Option("Строка списка 2", "str2");
Добавлять элементы в конец списка удобно так:
objSel.options[objSel.options.length] = new Option("текст", "значение");
Свойство length объекта options содержит количество элементов в списке. Данное свойство доступно как для чтения, так и для записи. Если установить свойству length значение больше чем текущее количество элементов, то в список будут добавлены пустые элементы. Если же установленное значение меньше текущего количества элементов списка, то список будет усечен до указанного количества элементов (лишние элементы будут удалены). Таким образом, добавить новый элемент в список можно и так (допустим у нас есть пустой список, добавим первый элемент):
Code
objSel.options.length=1; //добавляем в конец списка пустой элемент
objSel.options[0].text = "Строка списка 0";
objSel.options[0].value = "str0";
Вернемся к функции-конструктору Option(). Помимо указания текста и значения можно указать является ли элемент выделенным по умолчанию (defaultSelected), т.е. будет ли элемент выделенным при сбросе формы методом reset() и является ли элемент выделенным в данный момент (selected). Полный синтаксис функции конструктора объекта Option имеет следующий вид:
var newOpt = new Option("text", "value", isDefaultSelected, isSelected);
Где, первые два аргумента - это строки, а третий и червертый булевы аргументы и принимают значения true или false.