Fehler in Firefox

silec

Grünschnabel
moin leutz,

ich hab hier ein script, welches dazu dient durch eine onChange funktion des ersten select feldes den inhalt des zweiten select feldes zu verändern. Die alten Einträge werden gelöscht und neue werden reingeschrieben. Nunja im IE funktioniert das mal wieder super aber Firefox zb kann damit nix anfangen ... Die alten Einträge werden zwar gelöscht aber das reinschreiben geht nicht !

Habt ihr ne ahnung warum ?



Code:
var eintragstyp, eintragswert, eintrag, x, auswahl;
	
eintragstyp = new Array();
eintragstyp[0]= new Array('Banane','Pfirsich','Apfel,'Birne','Weintraube');
eintragstyp[1]= new Array('Tennis','Boarden','Ski');
eintragstyp[2]= new Array('Rot','Grün','braun');

eintragswert = new Array();
eintragswert[0]= new Array('&t=value','&t=value','&t=value','&t=value','&t=value');
eintragswert[1]= new Array('&t=value','&t=value','&t=value');
eintragswert[2]= new Array('&t=value,'&t=value','&t=value');

 function typenauswahl(t)
{
	auswahl = t.produkt.selectedIndex;
	for(x=t.type.length;x>=0;x--)
	{
		t.type.options[x] = null;
	}
	for(x= 0;x <eintragstyp[auswahl].length;x++)
	{
		eintrag = document.createElement('option');
		eintrag.text = eintragstyp[auswahl][x];
		eintrag.value = eintragswert[auswahl][x];
		t.type.add(eintrag);
	}	
}

mfg und thx im vorraus,
greetz s!lec
 
Hi,

mit new Option() bietet JavaScript bereits eine Möglichkeit, neue Listenoptionen zu erzeugen.
Mehr hierzu findest du zum Beispiel bei SelfHTML.

Deine Funktion könntest du beispielsweise wie folgt umschreiben:
Code:
function typenauswahl(t){
  auswahl = t.produkt.selectedIndex;
  // Bestehende Liste löschen
  t.type.options.length = 0;

  for(x=0; x<eintragstyp[auswahl].length; x++){
    eintrag = new Option(eintragstyp[auswahl][x], eintragswert[auswahl][x], false, false);
    t.type.options[t.type.length] = eintrag;
  }
}
Dem Parameter t wird das Formularobjekt übergeben.

Ciao
Quaese
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück