neue Werte ins Dropdown einfügen - new Option
Markus
- javascript
0 Christian0 Alexander Foken
Hi Leute!
Habe 2 Dropdowns Bezirk und Bundesland..
Möchte wenn ich ein Bundesland auswähle dass die entsprechenden Bezirke im 2 Dropdown eingefügt werden...
Hab mir das mit der new Option Methode angeschaut aber ich komme da nicht ganz zusammen...
kann nur ein element einfügen möchte aber mehrere einfügen..
var bundesland =document.Formular.Bundesland.selectedIndex;
Bundesland1= new Option(Hier sollten nun mehrere Bezirke eingefügt werden.)
if(bundesland == 1) document.Formular.Bezirk.options[document.Formular.Bezirk.length] = Bundesland1;
Wie stelle ich das an?
Bitte um Hilfe stehe jetzt voll an..
Einfacher wäre natürlich wenn ich direkt auf die <option> felder zugreifen könnte weil da stehen ja schon alle Bezirke im HTML drinnen...
Danke
MFG
Markus
Hi,
kann nur ein element einfügen möchte aber mehrere einfügen..
Wie stelle ich das an?
mit new Option() erzeugst du nur EINEN neuen Eintrag, wenn du mehrere hinzufügen willst, musst du für jeden Eintrag ein neues Objekt erzeugen (new Option) machen!
Christian
HI
Danke für eure Antwort.. denn Link hab ich schon gesehen nur fange ich in meinem Fall nicht viel damit an..
Wie würde das praktisch aussehen mit mehreren new Option()?
mit new Option() erzeugst du nur EINEN neuen Eintrag, wenn du mehrere hinzufügen willst, musst du für jeden Eintrag ein neues Objekt erzeugen (new Option) machen!
MFG
Markus
Hi,
Wie würde das praktisch aussehen mit mehreren new Option()?
var eintrag = new Option("Text1", "Wert1");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;
var eintrag = new Option("Text2", "Wert2");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;
das einfach so oft schreiben wie du es brauchst, oder in ne schleife packen!
document.forms[0].elements[0] ist die SelectBox, musste entsprechend ändern.
Christian
HI
Danke für deine Hilfe! Funtkioniert so.
Kann man daran irgendwas kürzen oder vereinfachen?
Müßte das ganze 120 Mal schreiben weil ich 120 Bezirke habe?
muß bei new Option ein Wert angegeben werden wird nicht der Textinhalt dann automatisch auch als wert übernommen wenn ich den selben will?
var eintrag = new Option("Text1", "Wert1");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;var eintrag = new Option("Text2", "Wert2");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;
Wie würde eine Schleife mit dem gleichen Beispiel aussehen? Bzw bringt sie vorteile?
das einfach so oft schreiben wie du es brauchst, oder in ne schleife packen!
Danke
MFG
Markus
Hallo Markus,
warum stellst Du diese Frage nicht in Deinem usrsprünglichen Thread ([pref:t=39841&m=218266])?
Müßte das ganze 120 Mal schreiben weil ich 120 Bezirke habe?
Nicht, wenn Du eine Schleife verwendest.
muß bei new Option ein Wert angegeben werden wird nicht der Textinhalt dann automatisch auch als wert übernommen wenn ich den selben will?
Die Angabe eines Werts ist zwar optional, wenn Du ihn weglässt, wird aber ein leerer Wert angenommen.
var eintrag = new Option("Text1", "Wert1");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;var eintrag = new Option("Text2", "Wert2");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;Wie würde eine Schleife mit dem gleichen Beispiel aussehen? Bzw bringt sie vorteile?
Vorteil: Du mußt das Ganze nicht 120 mal schreiben.
Da Deine Daten aus einer Datenbank kommen, gehört die Schleife ins serverseitige Script (Beispiel VB-Script):
<%
rs.Execute("Select ...")
Do Until rs.EOF
%>
var eintrag = new Option("<%= rs("text") %>", "<%= rs("Wert") %>");
document.forms[0].elements[0].options[document.forms[0].elements[0].length] = eintrag;
<%
rs.MoveNext
Loop
%>
Grüße
Andreas
Moin Moin !
Suchst Du http://selfhtml.teamone.de/javascript/objekte/options.htm#neue_elemente?
Alexander