PDA

View Full Version : [HTML/Javascript] Ottimizzare le dimensioni di una pagina contenente tante <SELECT>


trapanator
16-07-2005, 13:19
In una mia pagina ho una serie di <SELECT> (select box) che hanno gli stessi
valori (anche se hanno nome diverso).

Esempio:

<SELECT name="Scelta1">
<LISTA OPTION>
</SELECT>

<SELECT name="Scelta2">
<LISTA OPTION>
</SELECT>

<SELECT name="Scelta3">
<LISTA OPTION>
</SELECT>

Queste select hanno la stessa lista dei valori, che è molto lunga (>50
elementi). Sapete come posso creare un "riferimento" alla lista, anziché
riprodurre la stessa lista per ogni SELECT, in HTML o in Javascript?

Ciò per ottimizzare il caricamento della pagina che ha dimensioni
ragguardevoli (130KB, occupati soprattutto dai <SELECT>).

Qualche idea?

eXeS
16-07-2005, 14:20
<html>
<head>
<script>
function writeOpts() {
var weekDay = new Array("Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato","Domenica");

for (int i=0; i<weekDay.length; i++) {
document.writeln("<option>" + optArray[i]);
}
}
</script>
</head>
<body>
<select name="aaa">
<script>writeOpts();</script>
</select>
</body>
</html>
Via javascript potresti intanto che ci sei, creare anche i tag select

trapanator
16-07-2005, 15:40
<html>
<head>
<script>
function writeOpts() {
var weekDay = new Array("Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato","Domenica");

for (int i=0; i<weekDay.length; i++) {
document.writeln("<option>" + optArray[i]);
}
}
</script>
</head>
<body>
<select name="aaa">
<script>writeOpts();</script>
</select>
</body>
</html>
Via javascript potresti intanto che ci sei, creare anche i tag select


mi dà errore sulla riga:

for (int i=0; i<weekDay.length; i++) {


Errore: int is a reserved identifier

:confused:

eXeS
16-07-2005, 16:11
<html>
<head>
<script>
function writeOpts() {
var weekDay = new Array("Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato","Domenica");

for (var i=0; i<weekDay.length; i++) {
document.writeln("<option>" + weekDay[i]);
}
}
</script>
</head>
<body>
<select name="aaa">
<script>writeOpts();</script>
</select>
</body>
</html>


Azz... javascript non è tipizzato... te l'ho corretto, ora funge... :)

cionci
17-07-2005, 15:25
Giusto...in questo modo sposti sul client il trasferimento della liste nelle varie select... Dal server viene trasferita solo una copia per ogni lista...

trapanator
17-07-2005, 20:06
Giusto...in questo modo sposti sul client il trasferimento della liste nelle varie select... Dal server viene trasferita solo una copia per ogni lista...

grazie :) sai per quale sito sto utilizzando questo "trucco", vero? :sofico:

cionci
18-07-2005, 08:11
:D