Seite 1 von 1
pulldown menü instanzen bilden (JS)
Verfasst: 26.01.2005 12:17
von King Crusty
Hallo zusammen,
ich habe auf einer Seite ein Pulldownmenü, welches 2000 Einträge hat, und dieses erscheint auf der Seite dann auch noch 100mal (das geht nicht anders). So und nun meine Frage, kennt jemand einen weg, wie ich im Grunde die Menüdaten nur einmal im Quelltext habe und dann auf diese von jedem Pulldown verwenden kann?!
Dies würde die Seite erheblich schneller machen
dankeschön!
gruss
KingCrusty
Verfasst: 26.01.2005 12:49
von QCO
Du packst die Einträge des Menüs in ein Array und lässt dieses dann in die verschiedenen Menüs schreiben.
Beispiel
Code: Alles auswählen
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
values = new Array('Agnes', 'Anna', 'Berta', 'Brigitte', 'Charles');
text = new Array('Agnes', 'Anna', 'Berta', 'Brigitte', 'Charles');
nr_fields = values.length;
var output = "";
for(var i = 0; i < nr_fields; i++)
{
output = output + "<option value=\"" + values[i] + "\">" + text[i] + "</option>\n";
}
//-->
</script>
</head>
<body>
<form action="">
<select name="Auswahl1">
<script type="text/javascript">
<!--
document.write(output);
//-->
</script>
</select>
<br><br>
<select name="Auswahl2">
<script type="text/javascript">
<!--
document.write(output);
//-->
</script>
</select>
</form>
</body>
Ob es noch einen Weg gibt, der das mehrmalige document.write spart, weiß ich grad nicht...
[edit] Es geht offenbar.
http://de.selfhtml.org/javascript/objek ... e_elemente
Aber ob das schneller ist, müsstest du probieren...
Verfasst: 26.01.2005 13:04
von King Crusty
Vielen Dank, da hab ich zu kompliziert gedacht

Ich werde es noch umschreiben, dass man beim Aufruf den Selected Wert angeben kann und dann ist das optimal.
Variante 2, ist leider kaum schneller.