У вас изначально значение берется из value, но потом оно теряется, а точнее становится значением переменной t. Если ее убрать, то сохраняется начальное значение. Но вам нужно чтобы значение менялось, для этого нужно чтобы обработчик события onchange постоянно проверял (имело активное) его наличие.
Посмотрите как у меня это реализовано:
select1.onchange = function(){
for(var i=0; i<this.length; i++){
var options = document.createElement("option");
select2.appendChild(options);
*!*span.innerHTML = select2.options[select2.selectedIndex].innerHTML;*/!*
}
};
select2.onchange = function(){
for(var j=0; j<this.length; j++){
*!*span.innerHTML = this.options[this.selectedIndex].innerHTML;*/!*
}
};