Der Martin: Array, Dropdownliste, checkbox

Beitrag lesen

Hallo,

Kurz zu mir: Meine Erfahrung gleicht etwa der Begrüssungszeile. Jedoch ist noch kein Meister vom Himmel gefallen.

eben, dabei könnte er sich auch ganz fürchterlich die Haxen brechen. :-)

Ist es Möglich eine Dropdownliste aus einem Array zu füllen?

Selbstverständlich. Du sagst es zwar nicht explizit, aber anhand des gewählten Themenbereichs und deines Codebeispiels gehe ich davon aus, dass du es in Javascript machen möchtest.[*]

Du musst zunächst das gewünschte select-Element im Dokument finden. Dazu hast du mehrere Möglichkeiten - du kannst ihm eine ID geben und das Element dann mit getElementById() suchen; du kannst andere getElement[s]ByX-Methoden verwenden; du kannst es auch über document.formularname.elementname ansprechen. SELFHTML gibt dir ein paar Anregungen.

Dieses select-Element bzw. sein zugehöriges Javascript-Objekt hat eine Eigenschaft options, das seine Kindelemente, nämlich die option-Elemente repräsentiert. Damit kannst du vorhandene options verändern oder auch neue hinzufügen.

D.h. ich möchte in der Dropdownliste z.B. auf google(Link[0]) klicken und anschliessend öffnet sich www.google.ch(URL[0]) im gleichen Fenster.

Dann brauchst du noch den onselect-Eventhandler (du hast onclick gewählt, das ist IMO auch okay). Dieser Eventhandler muss aus dem ausgewählte bzw. angeklickte option-Element die damit verknüpfte Ziel-URL auslesen, die du ja im value-Feld unterbringen willst, und sie der href-Eigenschaft des location-Objekts zuweisen. Damit löst du indirekt das Laden der gewünschten Ressource aus.

Mir scheint so etwas sicherlich möglich zu sein, jedoch stellt sich die Frage: gibt es andere/bessere/leichtere Alternativen? Teilt mir doch eure Meinung mit.

Das kommt drauf an, was du damit eigentlich erreichen willst. Eine Navigation auf diese Weise zu realisieren, halte ich zum Beispiel nicht für schlau - erstens weil sie untypisch ist (Gewohnheitsfaktor), zweitens weil sie ohne Javascript nicht mehr nutzbar ist.

Ciao,
 Martin

[*] Alternativ wäre es natürlich denkbar, das gewünschte HTML serverseitig (z.B. mit PHP) zu generieren.

--
Was du heute kannst besorgen,
das geht sicher auch noch morgen.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(