[Содержание] [Предыдущая] [Следующая] [Индекс]

Option

Опция в списке выбора.

Объект client-side
Реализовано в Navigator 2.0
Navigator 3.0: добавлено свойство defaultSelected; свойство text может быть изменено, чтобы изменить текст опции

Создание

Конструктором Option или HTML тэгом OPTION. Создание объекта Option конструктром:

new Option(text, value, defaultSelected, selected)
Если Вы создали объект Option, Вы можете добавить его к списку выбора, используя массив Select.options.

Параметры

text
(Факультативный) Определяет текст, отображаемый в списке выбора.
value
(Факультативный) Определяет значение, которое возвращается серверу, когда опция выбрана, и форма представлена на рассмотрение.
defaultSelected
(Факультативный) Определяет, выбрана ли опция первоначально (true или false).
selected
(Факультативный) Определяет текущее состояние выбора опции (true или false).

Резюме Свойств

defaultSelected
Определяет начальное состояние выбора опции
selected
Определяет текущее состояние выбора опции
text
Определяет текст опции
value
Определяет значение, которое возвращается серверу, когда опция выбрана, и форма представлена на рассмотрение

Описание

Обычно Вы работаете с объектом Option в контексте списка выбора (объект Select). Когда JavaScript создает объект Select для каждого тэга SELECT в документе, он создает объекты Option для тэгов OPTION внутри тэга SELECT и помещает эти объекты в массив options объекта Select.

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

Вы можете использовать свойства Option.selected и Select.selectedIndex, чтобы изменять состояние выбора опции.

Чтобы изменить текст опции, используйте свойство Option.text. Например, предположим, что форма имеет следующий объект Select:

<SELECT name="userChoice">
   <OPTION>Выбор 1
   <OPTION>Выбор 2
   <OPTION>Выбор 3
</SELECT>
Вы можете устанавливать текст iго элемента, основываясь на выбранном тексте, введенном в текстовое поле, названном whatsNew, следующим образом:

myform.userChoice.options[i].text = myform.whatsNew.value
Вы не должны перезагружать или обновлять документ после изменения текста опции.

Примеры

Следующий пример создает два объекта Select, один с и один без аттрибута MULTIPLE. Никакие параметры первоначально неопределены для любого объекта. Когда пользователь нажимает кнопку, связанную с объектом Select, функция populate создает четыре параметра для объекта Select и выбирает первую опцию.

<SCRIPT>
function populate(inForm) {
   colorArray = new Array("Красный", "Синий", "Желтый", "Зеленый")
   var option0 = new Option("Красный", "color_red")
   var option1 = new Option("Синий", "color_blue")
   var option2 = new Option("Желтый", "color_yellow")
   var option3 = new Option("Зеленый", "color_green")
   for (var i=0; i < 4; i++) {
      eval("inForm.selectTest.options[i]=option" + i)
      if (i==0) {
         inForm.selectTest.options[i].selected=true
      }
   }
   history.go(0)
}
</SCRIPT>

<H3>Конструктор Option() для Select</H3>
<FORM>
<SELECT NAME="selectTest"></SELECT><P>
<INPUT TYPE="button" VALUE="Заполнить Список Выбора" onClick="populate(this.form)">
<P>
</FORM>
<HR>
<H3>Конструктор Option() для многострочного Select</H3>
<FORM>
<SELECT NAME="selectTest" multiple></SELECT><P>
<INPUT TYPE="button" VALUE="Заполнить Список Выбора" onClick="populate(this.form)">
</FORM>

Свойства

defaultSelected

Булево значение, указывающее заданное по умолчанию состояние выбора опции в списке выбора.

Свойство объекта Option
Реализовано в Navigator 3.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Если опция выбрана по умолчанию, значение свойства defaultSelected равно true; иначе, оно равно false. defaultSelected первоначально отражает, используется ли аттрибут SELECTED внутри тэга OPTION; однако, установка defaultSelected переназначает аттрибут SELECTED.

Вы можете устанавливать свойство defaultSelected в любое время. Вид соответствующего объекта Select не модифицируется, когда Вы устанавливаете свойство defaultSelected опции, только, когда Вы устанавливаете свойства Option.selected или Select.selectedIndex.

Объект Select, созданный без аттрибута MULTIPLE, может иметь только одну опцию, выбранную по умолчанию. Когда Вы устанавливаете defaultSelected в таком объекте, любые предыдущие заданные по умолчанию выборы, включая набор значений по умолчанию аттрибута SELECTED, очищаются. Если Вы устанавливаете defaultSelected в объекте Select, созданном с аттрибутом MULTIPLE, это не воздействует на предыдущие заданные по умолчанию выборы.

Примеры

В следующем примере, функция restoreDefault возвращает musicType объекта Select к заданному по умолчанию состоянию. Цикл for использует массив options, чтобы определить каждую опцию в объекте Select. Выражение if устанавливает свойство selected, если defaultSelected равно true.

function restoreDefault() {
   for (var i = 0; i < document.musicForm.musicType.length; i++) {
      if (document.musicForm.musicType.options[i].defaultSelected == true) {
         document.musicForm.musicType.options[i].selected=true
      }
   }
}
Предыдущий пример принимает, что объект Select подобен следующему:

<SELECT NAME="musicType"> 
   <OPTION SELECTED> R&B
   <OPTION> Джаз
   <OPTION> Blues
   <OPTION> New Age
</SELECT>

Смотрите также

Option.selected, Select.selectedIndex

selected

Булево значение, указывающее, выбрана ли опция в объекте Select.

Свойство объекта Option
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Если опция в объекте Select выбрана, его значение selected равно true; иначе, оно равно false. Вы можете устанавливать свойство selected в любое время. Вид связанного объекта Select модифицируется немедленно, когда Вы устанавливаете свойство selected одного из его параметров.

Вообще, свойство Option.selected более полезно чем свойство Select.selectedIndex объектов Select, которые созданы с аттрибутом MULTIPLE. Со свойством Option.selected, Вы можете определить каждую выбранную опцию в массиве Select.options, и Вы можете выбирать индивидуальные параметры без очистки выбора других параметров.

Примеры

Смотрите примеры для defaultSelected.

Смотрите также

Option.defaultSelected, Select.selectedIndex

text

Строка, определяющая текст опции в списке выбора.

Свойство объекта Option
Реализовано в Navigator 2.0
Navigator 3.0: Свойство text может быть изменено. В предыдущих выпусках, Вы могли устанавливать свойство text, но новое значение не отражалось в объекте Select.

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Свойство text первоначально отражает текст, который следует за тэгом OPTION тэга SELECT. Вы можете устанавливать свойство text в любое время и текст, отображаемый опцией, изменяется в списке выбора.

Примеры

Пример 1. В следующем примере, функция getChoice возвращает значение свойства text выбранной опции. Цикл for определяет каждую опцию в объекте musicType типа Select. Выражение if находит опцию, которая выбрана.

function getChoice() {
   for (var i = 0; i < document.musicForm.musicType.length; i++) {
      if (document.musicForm.musicType.options[i].selected == true) {
         return document.musicForm.musicType.options[i].text
      }
   }
   return null
}
Предыдущий пример принимает, что объект Select подобен следующему:

<SELECT NAME="musicType">
   <OPTION SELECTED> R&B
   <OPTION> Джаз
   <OPTION> Blues
   <OPTION> New Age
</SELECT>
Пример 2. В следующей форме, пользователь может вводить некоторый текст в первое текстовое поле и затем вводить число между 0 и 2 (включительно) во второе текстовое поле. Когда пользователь нажимает кнопку, текст обозначенной номером опции заменяется.

Код для этого примера выглядит следующим образом:

<SCRIPT>
function updateList(theForm, i) {
   theForm.userChoice.options[i].text = theForm.whatsNew.value
   theForm.userChoice.options[i].selected = true
}
</SCRIPT>
<FORM>
<SELECT name="userChoice">
   <OPTION>Choice 1
   <OPTION>Choice 2
   <OPTION>Choice 3
</SELECT>
<BR>
New text for the option: <INPUT TYPE="text" NAME="whatsNew">
<BR>
Option to change (0, 1, or 2): <INPUT TYPE="text" NAME="idx">
<BR>
<INPUT TYPE="button" VALUE="Change Selection"
onClick="updateList(this.form, this.form.idx.value)">
</FORM>

Смотрите также

getOptionValue

value

Строка, которая отражает аттрибут VALUE опции.

Свойство объекта Option
Только для чтения
Реализовано в Navigator 2.0

Защита

Navigator 3.0: Это свойство заражено по умолчанию. Для информации о заражении данных, смотрите "Защита JavaScript".

Описание

Когда аттрибут VALUE определен в HTML, свойство value это строка, которая отражает его. Когда аттрибут VALUE не определен в HTML, свойство value равно пустой строке. Свойство value не отображается на экране, но возвращается серверу, если опция выбрана.

Не путайте это свойство с состоянием выбора опции или текстом, который отображается рядом с ней. Свойство selected определяет состояние выбора объекта, и свойство defaultSelected определяет заданное по умолчанию состояние выбора. Текст, который отображается, определяется после тэга OPTION и соответствует свойству text.


[Содержание] [Предыдущая] [Следующая] [Индекс]

Последняя Модификация: 10/31/97 12:32:20


Права © 1997 Netscape Communications Corporation



Все мессаги сюда:yanich@inbox.ru
Hosted by uCoz