Клиентский JavaScript. Справочник

         

Описание


Вы можете обратиться к опции объекта Select с помощью массива options. Этот массив содержит вхождения для каждой опции объекта Select (тэг OPTION) в порядке расположения в исходном коде. Например, если Select-объект musicStyle имеет три опции, Вы можете получить к ним доступ так: musicStyle.options[0], musicStyle.options[1], musicStyle.options[2].

Для получения количества опций списка selection Вы можете использовать свойство Select.length или length массива options. Например, можно получить количество опций в списке musicStyle с помощью одного из следующих выражений:

musicStyle.length
musicStyle.options.length

Вы можете добавлять опции в список и удалять их, используя этот массив. Чтобы добавить или заменить опцию в существующем объекте Select, Вы присваиваете новый Option-объект в нужное место массива. Например, чтобы создать новый Option-объект jeans и добавить его в конец списка myList, Вы можете использовать следующий код:

jeans = new Option("Blue Jeans", "jeans", false, false);
myList.options[myList.length] = jeans;

Для удаления опции из Select-объекта Вы устанавливаете соответствующий индекс массива options в null. Удаление опции сжимает массив опций. Например, предположим, что myList имеет 5 элементов, значение четвёртого элемента - "foo", и Вы выполняете следующий оператор:

myList.options[1] = null

Теперь myList содержит 4 элемента, а значение третьего элемента - "foo".

После удаления опции Вы обязаны обновить документ, используя history.go(0). Этот оператор обязан быть последним. Когда документ перезагружается, значения переменных теряются, если они не сохранены в куках или в значениях элементов формы.

Вы можете определить, какая опция списка selection выбрана в данный момент, используя свойство selectedIndex массива options или сам объект Select. То есть, следующие выражения возвращают одинаковые значения:

musicStyle.selectedIndex
musicStyle.options.selectedIndex

Дополнительно об этом свойстве см. Select.selectedIndex.

Для объектов Select, допускающих возможность множественного выбора (то есть если тэг SELECT имеет атрибут MULTIPLE), свойство selectedIndex не очень подходит для использования. В этом случае оно возвращает индекс первого выбора. Чтобы найти все выбранные опции, Вы должны пройти циклом по опциям и проверить каждую опцию индивидуально. Например, чтобы напечатать список всех выбранных опций в selection-списке mySelect, Вы можете использовать такой код:

document.write("You've selected the following options:\n")
for (var i = 0; i < mySelect.options.length; i++) {
if (mySelect.options[i].selected)
      document.write(" mySelect.options[i].text\n")
}

Вообще, при работе с отдельными опциями списка selection Вы работаете с соответствующим Option-объектом.



Содержание раздела