#javascript #getelementbyid
#javascript #getelementbyid
Вопрос:
У меня есть поле со списком, когда используется событие onchange.
Когда я выбираю опцию, не обновляется диапазон
Вот информация:http://jsfiddle.net/S5fbc/72 /
<script>function change(){
var a1 = document.getElementById("a");
var b1 = document.getElementById("b");
var c1 = document.getElementById("c");
a1.innerHTML = b1.value;
}
</script>
<select id="trick" onkeypress="change()">
<option>Select Please</option>
<option value="a">AAAAA</option>
<option value="b">BBBBB</option>
<option value="c">CCCCC</option>
</select>
<span id="a1">First Text</span>
<span id="b1">Second text</span>
<span id="c1">Third text</span>
Пожалуйста, кто-нибудь может мне помочь?
Комментарии:
1. Какое это имеет отношение к «прототипу»???
2. Вы знаете, что элементы имеют идентификаторы типа
a1
, неa
?3. Я использую prototype 1.6 и jquery-1.4.min в моем реальном проекте, вот что мне нужно, пожалуйста
4. @CarlitosMorales: сначала вы должны научиться использовать DOM без них. Не используйте их сейчас. Никогда не используйте их оба.
Ответ №1:
Идентификаторы промежутков, которые вы пытаетесь выбрать, не являются a
, b
c
, a1
, а b1
, c1
,,,,,,,,,,,,,
Элемент, к которому вы хотите получить доступ, .value
не b1
является элементом выбора, который имеет идентификатор trick
.
Если вы хотите прослушать change
событие, вам не следует использовать onkeypress
.
Кажется, вы хотите
function change(){
var trick = document.getElementById("trick"),
els = {
a: document.getElementById("a1"),
b: document.getElementById("b1"),
c: document.getElementById("c1")
};
for (var p in els)
els[p].style.display = "none";
var selected = trick.value;
if (selected in els)
els[selected].style.display = "";
}
Комментарии:
1. Нет, элементы span не имеют
.value
s. Что вы на самом деле хотите сделать ? Как следует обновлять диапазон, в зависимости от значения элемента select?2. Когда я нажимаю на AAAA, отображается «Первый текст», при нажатии на BBBB отображается «Второй текст», а при нажатии на CCCC отображается «Третий текст»
3. Все параметры должны быть скрыты, и когда они изменятся, они будут встроенными jsfiddle.net/S5fbc/76
4. Да, это верно… Я проверил вашу демонстрацию, но не показывает информацию о диапазоне при выборе опции
5. Он показывает соответствующий диапазон, когда вы его выбрали? Разве это не то, что вы хотели?