Ho pensato di fare una cosa di questo tipo:

codice:
<script>
<!--
function changeStyle1() {
getElementsByTagName('option')[0].style.display='block';
getElementsByTagName('option')[1].style.display='none';
getElementsByTagName('option')[2].style.display='none';
}

function changeStyle2() {
getElementsByTagName('option')[0].style.display='block';
getElementsByTagName('option')[1].style.display='block';
getElementsByTagName('option')[2].style.display='none';
}

function changeStyle3() {
getElementsByTagName('option')[0].style.display='block';
getElementsByTagName('option')[1].style.display='block';
getElementsByTagName('option')[2].style.display='block';
}

//e così via

-->
</script>

<select onchange="if (getElementsByTagName('option')[0].selected) changeStyle1(); if (getElementsByTagName('option')[1].selected) changeStyle2(); if (getElementsByTagName('option')[2].selected) changeStyle3();">

<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>

</select>
ovviamente usando uno o più cicli per sistemare il tutto con meno codice possibile... ma per esempio, è possibile inserire un for all'interno di onchange? Per favore aiutatemi, sono ancora alle prime armi con javascript!