У меня есть следующий код, где я пытаюсь изменить значения по умолчанию для двух входов выбора, и я ожидаю получить ложные значения для первого диалога и приветствовать второй диалог, но что-то не так.
Это строка в коде, который должен внести изменения
var vSelect = document.getElementById('select_1');
vSelect.options[0].defaultSelected = 1;
vSelect = document.getElementById('select_2');
vSelect.options[1].defaultSelected = 0;
Используются ли options[index]
для представления состояний в каждом теге select
или являются ли они глобальными индексами для всех тегов option
на странице?
То, что я действительно хочу сделать, - это установить конкретный тег select
для параметра по умолчанию, не зная в первую очередь индекс опций, сообщите мне, почему это невозможно, если это произойдет.
<html>
<head>
</head>
<body onload = "default_settings()">
<style type = "text/css">
body
{
background-color: white;
}
#select_1, #menu_select_label_id_1, #select_2, #menu_select_label_id_2
{
color:#64FFFF;
font-size:14px;
background: rgba(0,0,0,1.0);
text-align: left;
max-width:90px;
padding: 4px 4px;
}
</style>
<script language="JavaScript">
function default_settings()
{
var vSelect = document.getElementById('select_1');
vSelect.options[0].defaultSelected = 1;
vSelect = document.getElementById('select_2');
vSelect.options[1].defaultSelected = 0;
}
</script>
<select id = "select_1">
<option value = "0">true</option>
<option value = "1">false</option>
</select>
<label id = "menu_select_label_id_1" for = "select_1">
boolean
</label>
<br>
<select id = "select_2">
<option value = "0">hello</option>
<option value = "1">goodbye</option>
</select>
<label id = "menu_select_label_id_2" for = "select2">
greeting
</label>
</body>
</html>
defaultSelected
- это логическое свойство элемента option
, указывающее, является ли этот параметр по умолчанию для выбора.
Таким образом, вы установите его только на том параметре, который вы хотите использовать по умолчанию, и вы установите его только на правдивое значение (которое будет принудительно использовано для true
). Это не индекс, а это не значение.
Используются ли
options[index]
для представления состояний в каждом теге select или являются ли они глобальными индексами для всех тегов параметров на странице?
Они являются элементами option
(объектами) в пределах определенного элемента select
.
То, что я действительно хочу сделать, - это установить конкретный тег select для параметра по умолчанию, не зная в первую очередь индекс опций, сообщите мне, почему это невозможно, если это произойдет.
Для этого вам нужно что-то узнать о параметре (его значение, его текст), а затем выполнить поиск по параметрам, находящим соответствующий, и установить для его defaultSelected
значение true
.
Например: здесь мы находим параметр со значением "foo"
и делаем его по умолчанию:
var options = theSelectBox.options;
var n;
for (n = 0; n < options.length; ++n) {
if (options[n].value === "foo") {
options[n].defaultSelected = true;
break;
}
}
options
применяется только к тому, какое значение является истинным или ложным, и каждый индекс представляет различноеvalue
и я установил для них значение true или false.0
, второй - индекс1
и т. Д. Каждый объект параметра имеет свойства, такие как егоvalue
, егоtext
, егоselected
флаг и егоdefaultSelected
. Этот флагdefaultSelected
является свойством объекта option, а не поля выбора, и это не индекс. Это флаг. Этоtrue
по умолчанию иfalse
для остальных (в поле с одним выбором).