Проблема с отображением информации о событии изменения

#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. Он показывает соответствующий диапазон, когда вы его выбрали? Разве это не то, что вы хотели?