Хммм. Что я делаю не так? )
.size = 2 - показывает 4 строки
.size = 3 - показывает 4 строки
.size = 4 - показывает 4 строки
.size = 5 - показывает 5 строк
.size = 6 - показывает 6 строк (даже если их всего 5)
и т.д.
<select name="test" size="1">
<option selected></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<script>
document.getElementsByName("test").item(0).size = 2;
</script>