Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Что такое творится с select? (https://javascript.ru/forum/misc/20957-chto-takoe-tvoritsya-s-select.html)

9xakep 23.08.2011 22:54

Что такое творится с select?
 
<select onchange='copy()' id="sel">
<option id='c1' value="classmate1">Анна</option>
<option id='c2' value="classmate2">Дарья</option>
<option id='c3' value="classmate3">Виктория</option>

</select>
<input type='text' value='' id='t' >
<script>
function copy() {
var te = document.getElementById('t').value
var sek = document.getElementById('sel')
var cc1 = document.getElementById('c1').value
var cc2 = document.getElementById('c2').value
var cc3 = document.getElementById('c3').value

if(sek.selectedIndex == 0) {
te = cc1
}
if(sek.selectedIndex == 1) {
te = cc2

}
if(sek.selectedIndex == 2) {
te = cc3
}
alert(te)
}
</script>

Это что получается?Текст в поле есть(тому доказательство алерт)но одновременно его нет O_o
При этом:
<select onchange='copy()' id="sel">
<option id='c1' value="classmate1">Анна</option>
<option id='c2' value='classmate2'>вика</option>

</select>
<input type='text' value='' id='t' >
<script>
function copy() {
var te = document.getElementById('t').value
var sek = document.getElementById('sel')



if(sek.selectedIndex == 0) {
document.getElementById('t').value  = document.getElementById('c1').value
}
if(sek.selectedIndex == 1) {
document.getElementById('t').value  = document.getElementById('c2').value
}


}
</script>

B@rmaley.e><e 23.08.2011 23:38

Цитата:

Сообщение от 9xakep
Это что получается?Текст в поле есть(тому доказательство алерт)но одновременно его нет O_o

Что получается? Всё очевидно и ожидаемо.

Цитата:

Сообщение от 9xakep
document.getElementById('t').value  = document.getElementById('c1').value

А в случае
t = 5;
t = 7;
Вы ожидаете, что 5 станет равно 7? t не более, чем переменная, которая просто получает значение, но не связывается с ним (в случае объектов может показаться иначе, но на самом деле всё дело просто в том, что каждый объект представляется ссылкой и копируются ссылки, а не объекты).

9xakep 23.08.2011 23:48

Спасибо,а теперь такой вопрос:
а если бы значение te передавалось бы пост отправкой, то отправилось бы classmate1/classmate2 или ничего?

B@rmaley.e><e 24.08.2011 00:00

А чем таким принципиальным отправка POST-ом отличается от вызова alert, что значением переменной вдруг стало бы волшебное ничего?

9xakep 24.08.2011 01:52

Да нет,просто интересно стало,спасибо еще раз


Часовой пояс GMT +3, время: 03:30.