È perché gli if-statement 's eliminasti ...
Ho adattato i VALUE di restituzione che vedo hai mutato - e - non sono più numerali ma "stringhe", quindi: racchiudere tra apici singoli ' o doppi "codice:function F1(a) { if (a == "cella1") document.getElementById("cella1").innerHTML="pippo non è felice"; if (a == "cella2") document.getElementById("cella2").innerHTML="pluto si"; //e così via (questo è un commento, non viene processata la riga preceduta da // ) }
Adottando l' if(){} else ... eviterebbe di far processare inutilmente righe successive a quella di esecuzione.
P.S.: e poi bisogna fare uno "svuotamento" preventivo con innerHTML="" perché ad ogni successiva azione sulla SELECT, i contenuti già assegnati rimangono.