Реализовано в |
Navigator 2.0 Navigator 3.0: добавлено свойство defaultSelected ; свойство text может быть изменено, чтобы изменить текст опции
|
Создание
Конструктором Option
или HTML тэгом OPTION
. Создание объекта Option
конструктром:
new Option(text, value, defaultSelected, selected)
Если Вы создали объект Option, Вы можете добавить его к списку выбора, используя массив Select.options
.
Описание
Обычно Вы работаете с объектом Option
в контексте списка выбора (объект Select
). Когда JavaScript создает объект Select
для каждого тэга SELECT
в документе, он создает объекты Option
для тэгов OPTION
внутри тэга SELECT
и помещает эти объекты в массив options
объекта Select
.
Кроме того, Вы можете создавать новые параметры, используя конструктор Option
и добавлять их к списку выбора. После того, как Вы создали опцию и добавили ее в объект Select
, Вы должны обновить документ, используя history.go(0)
. Это выражение должно быть последним. Когда документ перезагружается, переменные теряются, если не сохранить их в файлах cookie или в значениях элементов формы.
Вы можете использовать свойства Option.selected
и Select.selectedIndex
, чтобы изменять состояние выбора опции.
Select.selectedIndex
это целое число, определяющее индекс выбранной опции. Оно наиболее полезно для объектов Select
, которые созданы без аттрибута MULTIPLE
. Следующее выражение устанавливает свойство selectedIndex
объекта Select
:document.myForm.musicTypes.selectedIndex = i
Option.selected
это Булево значение, определяющее текущее состояние выбора опции в объекте Select
. Если опция выбрана, его свойство selected
равно true; иначе оно равно false. Оно наиболее полезно для объектов Select
, которые созданы с аттрибутом MULTIPLE
. Следующее выражение устанавливает свойство selected
объекта в true:document.myForm.musicTypes.options[i].selected = true
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
Строка, определяющая текст опции в списке выбора.
Защита
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">
Пример 2. В следующей форме, пользователь может вводить некоторый текст в первое текстовое поле и затем вводить число между 0 и 2 (включительно) во второе текстовое поле. Когда пользователь нажимает кнопку, текст обозначенной номером опции заменяется.
<OPTION SELECTED> R&B
<OPTION> Джаз
<OPTION> Blues
<OPTION> New Age
</SELECT>
Код для этого примера выглядит следующим образом:
<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
Все мессаги сюда:yanich@inbox.ru |