Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.02.2012, 01:15
Новичок на форуме
Отправить личное сообщение для Q012 Посмотреть профиль Найти все сообщения от Q012
 
Регистрация: 02.02.2012
Сообщений: 6

document.getElementById и select
Доброго времени суток всем. У меня такой вопрос к знающим людям.
Есть форма
<form name="qwe">
<select onchange="document.getElementById('id_2').innerHTML=this.options[this.selectedIndex].value;" ;>
<option  value =" "></option>
<option  value=1>бла</option>
<option value=2>бла бла</option>
<option  value=3 >бла бла бла</option>
</select>
</form>	   
<div id="id_2"></div>

При выборе значения из списка, на страницу выводится номер 1, 2, 3. Подскажите как мне выводить текст в зависимости от выбранного элемента. Не номер, не бла, бла бла, а свой текст? За ранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.02.2012, 01:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,510

<script>
values=[
'ноль',
'один',
'два',
'три'
]
values.undefined = 'нетути';

</script>
<form name="qwe">
<select onchange="document.getElementById('id_2').innerHTML=values[this.selectedIndex]">
<option  value =" "></option>
<option  value=1>бла</option>
<option value=2>бла бла</option>
<option  value=3 >бла бла бла</option>
</select>
</form>	   
<div id="id_2"></div>
__________________
29375, 35

Последний раз редактировалось Aetae, 02.02.2012 в 01:38.
Ответить с цитированием
  #3 (permalink)  
Старый 02.02.2012, 01:55
Новичок на форуме
Отправить личное сообщение для Q012 Посмотреть профиль Найти все сообщения от Q012
 
Регистрация: 02.02.2012
Сообщений: 6

Спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 22.03.2013, 15:52
Новичок на форуме
Отправить личное сообщение для sept Посмотреть профиль Найти все сообщения от sept
 
Регистрация: 22.03.2013
Сообщений: 2

А что сделать, чтобы values.undefined = 'не тупи'; заработало?

<script>
values=[
'ноль',
'один',
]
values.undefined = 'не тупи';

</script>
<form name="qwe">
<select onchange="document.getElementById('id_2').innerHTML=values[this.selectedIndex]">
<option  value =" "></option>
<option  value=1>бла</option>
<option value=2>бла бла</option>
<option  value=3 >бла бла бла</option>
<option  value=4 >бла бла бла бла</option>
</select>
</form>	   
<div id="id_2"></div>
Ответить с цитированием
  #5 (permalink)  
Старый 22.03.2013, 17:03
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

id_2.innerHTML = values[this.selectedIndex] || 'не тупи'


Можно еще так:
<form name="qwe">
    <select onchange="id_2.innerHTML = selectedOptions[0].getAttribute('data-text') || 'не тупи'">
        <option value=0 data-text="ноль"></option>
        <option value=1 data-text="одын">бла</option>
        <option value=2 data-text="двы">бла бла</option>
        <option value=3>бла бла бла</option>
        <option value=4>бла бла бла бла</option>
    </select>
</form>     
<div id="id_2"></div>
Ответить с цитированием
  #6 (permalink)  
Старый 22.03.2013, 17:04
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

document.getElementById('id_2').innerHTML=this.value
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 22.03.2013, 17:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от devote
document.getElementById('id_2').innerHTML=this.val ue
Ну да, если форма не сабмитится, то это самый простой и логичный вариант )
Ответить с цитированием
  #8 (permalink)  
Старый 22.03.2013, 17:18
Новичок на форуме
Отправить личное сообщение для sept Посмотреть профиль Найти все сообщения от sept
 
Регистрация: 22.03.2013
Сообщений: 2

Сообщение от danik.js Посмотреть сообщение
id_2.innerHTML = values[this.selectedIndex] || 'не тупи'
Вот то что нужно!
Большое спасибо!
Ответить с цитированием
  #9 (permalink)  
Старый 22.03.2013, 18:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от sept
Вот то что нужно!
вот это:
Сообщение от danik.js
id_2.innerHTML =
очень плохая практика, не нужно так использовать, не смотря на то что оно работает... Это изжитки прошлого, от которого никак избавится браузерописатели не могут по причине того что все еще есть прогеры которые не понимают того что так делать нельзя. Пишите нормально:
Сообщение от devote
document.getElementById('id_2').innerHTML=
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #10 (permalink)  
Старый 22.03.2013, 18:16
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

и так тоже:
Сообщение от sept
values[this.selectedIndex] || 'не тупи'
правильный вариант:
document.getElementById('id_2').innerHTML=this.value

самый правильный вариант:
<form name="qwe">
    <select id="my_select">
        <option value="0"></option>
        <option value="1">бла</option>
        <option value="2">бла бла</option>
        <option value="3">бла бла бла</option>
        <option value="4">бла бла бла бла</option>
    </select>
</form>     
<div id="id_2"></div>

<script type="text/javascript">
    (function() {
        var texts = [
                "ololol",
                "hahaha",
            ],
            select = document.getElementById('my_select'),
            id2 = document.getElementById('id_2'),
            eventHandler = function() {
                id2.innerHTML = texts[select.value] || "не тупи";
            }

        if (select.addEventListener) {
            select.addEventListener('change', eventHandler, false);
        } else {
            select.attachEvent('onchange', eventHandler);
        }
    })();
</script>
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine

Последний раз редактировалось devote, 22.03.2013 в 18:20.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Select, select, select... anlov AJAX и COMET 0 24.10.2011 11:16
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Подгрузка select и работа с ними после! BASSON_XVI jQuery 3 07.01.2011 11:28
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
заполнить select значениями другого select Central Элементы интерфейса 1 30.05.2009 14:41