Ок. Давайте по-порядку, а то мне не спится.
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. Задача какая-то размытая, что такое "тексттексттекст"?
Я не нашел такого слова ни в одном словаре.