Stefan: alten Zustand eines Select-Feldes merken

Hallo,

ich möchte mit onChange = funktion(this) eine Funktion aufrufen, die die Änderung einer Option in einem Select-Formularfeld erkennt.
An den neuen Wert gelange ich dann mit this.selectedIndex, aber dann ist mir schon die Info verloren gegangen, wie der alte Zustand war.

Ich habe sehr viele von diesen Feldern und möchte vermeiden, für jedes eine Variable zum Merken des Zustandes anzulegen.

Weiß jemand eine elegantere Lösung? (z.B onClick, damit ich schon reagieren kann, bevor der Index geändert wird, aber onClick geht ja bei "Select" leider nicht)

Gruß,
Stefan

  1. hi,

    Ich habe sehr viele von diesen Feldern und möchte vermeiden, für jedes eine Variable zum Merken des Zustandes anzulegen.

    wird sich aber wohl kaum vermeiden lassen. aber du kannst ja ein array nehmen, damit der wust an variablennamen nicht überhand nimmt.

    gruss,
    wahsaga

    1. Hallo,

      wird sich aber wohl kaum vermeiden lassen. aber du kannst ja ein array nehmen, damit der wust an variablennamen nicht überhand nimmt.

      ich rufe meine Funktion mit dem Parameter this auf

      <select onChange = "funktion(this)" ...

      Wie kann ich denn nun innerhalb der Funktion "this" in ein Arrayelement übersetzen. "this" ist ja ein Objekt. Den selectedIndex kann man ja bestimmen, aber woher weiß ich in welchem Array-Element ich den Wert ablegen soll?

      Mit anderen Worten:

      "this" ist gleichbedeutend mit "document.forms[0].elements[index]"

      Aber welchen Wert hat "index"??????

      Danke und Gruß,
      Stefan

      1. hi,

        Wie kann ich denn nun innerhalb der Funktion "this" in ein Arrayelement übersetzen. "this" ist ja ein Objekt. Den selectedIndex kann man ja bestimmen, aber woher weiß ich in welchem Array-Element ich den Wert ablegen soll?

        in welchem array-element du ihn ablegen willst, musst du selber wissen.
        du könntest dir z.b. von anfang an einen zähler mitlaufen lassen, der bei jedem aufruf der funktion um eins erhöht wird.
        und dann speicherst du den aktuellen wert in das array-element mit dem index des aktuellen zählerstandes.

        gruss,
        wahsaga