Antje Hofmann: Meine Schleife geht nicht, bitte um hilfe

Beitrag lesen

Hallo Sven

for (k = 0; k < document.reservierung.kartenZahl.options.length; k++)
{

//alert(document.reservierung.kartenZahl.options[k].value);
  document.reservierung.kartenZahl.options[k] = null;

}

Es geht darum dass alle Einträge einer Auswahlliste gelöscht werden sollen. Ich setze daher alle Options auf null.

hier machst du einen grundsätzlichen Denkfehler. Du veränderst während der Laufzeit die Länge der Liste. Entfernst du das erste Element, dann rutsch das zweite an die Stelle 0. Dein k steht aber jetzt bei 1 und behandelt eben das Element, dass an zweiter Stelle steht.

Deswegen wird auch nur die Hälfte gelöscht.

Abhilfe:
for (k=document.reservierung.kartenZahl.options.length-1;k>-1; k--)
document.reservierung.kartenZahl.options[k] =null

oder
while (document.reservierung.kartenZahl.options.length>0)
document.reservierung.kartenZahl.options[0] =null

oder
ganz einfach
document.reservierung.kartenZahl.options.length=0;

Viele Grüße

Antje