Надпись меняется в зависимости от SELECTa
Всем привет. Помогите реализовать следущее:
Имеется такая вот структура страницы (количество строк всегда разное): Переключатель SELECT | ТекстТекстТекст Переключатель SELECT | ТекстТекстТекст Переключатель SELECT | ТекстТекстТекст Переключатель SELECT | ТекстТекстТекст Нужно реализовать чтобы при выборе значения в SELECTe в конец текста справа от SELECTa дописывалось значение SELECTa (его value). Простите новичка, но пока что могу реализовать на JS лишь самое простейшее. |
Документация пробовали читать?
|
Пробовал. У меня вот что получилось:
Выпадающий список вывожу так: <select name="price" id="price" onchange="document.getElementById('cena').innerHTM L='&p='+document.getElementById('price').value;">> <option value="1">1$</option> <option value="3" selected>3$</option> <option value="5">5$</option> <option value="7">7$</option> </select> А в конце текста дописываю: <span id=cena name=cena></span> -------- Проблема в том, что у меня структура страницы вот такая: Переключатель SELECT | ТекстТекстТекст Переключатель SELECT | ТекстТекстТекст Переключатель SELECT | ТекстТекстТекст Переключатель SELECT | ТекстТекстТекст И количество строк может быть всегда разное. При применении моего способа только в одном месте в конец текста дописывается значение SELECT. а мне надо во все сразу дописать. |
Ок. Давайте по-порядку, а то мне не спится.
1. Что такое у вас cena и price? Транслит, знаете, нынче не в моде. Вы уж определитесь, может sum, total, amount -- что у вас там по смыслу? 2. Select это не переключатель, переключатели обычно дома на стене находятся. А выпадающий список, элемент формы. Еще бывают "мультиселекты", позволяющие выбрать не одно, а несколько значений. 3. Самый "простой" случай. Если у вас зависимые поля, то проще и нагляднее им задать значение id так "price__result", а при присваивании им значения, просто искать их как this.id + "__result". Понимаешь? 4. Вынести логику из атрибута в функцию. function getSelectedOptionValue(oSelect) { return oSelect.options[oSelect.selectedIndex].value; } function setResultValue(oSelect) { document.getElementById(oSelect.id + "__result").innerHTML = getSelectedOptionValue(oSelect); } <select id="teacher" name="teacher" onchange="setResultValue(this)"> <option value="one" selected="selected">раз</option> <option value="two">два</option> <option value="three">три</option> </select> <p id="teacher__result">one</p> 5. Задача какая-то размытая, что такое "тексттексттекст"? Я не нашел такого слова ни в одном словаре. |
так что ли?
поставьте вопрос более точно, не пишите "рыбу", лучше слепите пример на другую форму - в данном случае, можно было заменить доллары на евро, если у Вас уж такая конфиденциальная информация о сайте на руках. (хотя даже и оригинальный кусок скопировать, всё равно всем пофигу) <select name="price" id="price" onchange="document.getElementById('cena').innerHTML*!*+*/!*='&p='+document.getElementById('price').value;">> <option value="1">1$</option> <option value="3" selected>3$</option> <option value="5">5$</option> <option value="7">7$</option> </select> <span id=cena name=cena></span> |
А если у меня несколько элементов с одним и тем же id, можно ли выбранное значение вписать сразу во все элементы с одним и тем же id, а не в один?
|
нет, ид в пределах одной страницы уникален.
но изловчиться можно, конечно... |
А мне как раз и нужно изловчиться ))) Я видел как на некоторых сайтах подобную ситуацию разруливали вставляя в нужные места сайта не элементы с одним и тем же id, а выдуманный тэг. Например <s></s>
|
sitebuilder, я предлагаю вам, во избежание вами беспокойств по поводу весьма банальных вопросов, а нами - расстройств и стрессов по поводу вашей необразованности почитать весьма полезный сайт: http://learn.javascript.ru
И, учитывая, что вы ничего не знаете о классах (во всяком случае, вы не догадались, что здесь надо использовать их), я также предлагаю вам ознакомиться с самоучителем по html: http://htmlbook.ru/samhtml (и, далее, по css: http://htmlbook.ru/samcss ) Спасибо за внимание. |
Сделал так:
<select onchange="document.getElementByClass('cena').inner HTML='3руб';"> <option value="1">1</option> <option value="3" selected>3</option> <option value="5">5</option> <option value="7">7</option> </select> <span class="cena"></span> Подскажите, где ошибся, почему "3руб" не пишется внутрь SPANa ? |
Часовой пояс GMT +3, время: 22:23. |