Dieter: value eines select

Hallo.
Ich möchte nach Änderung eines Auswahlfeldes eine Javascript Funktion aufrufen. An diese Funktion soll der neue Wert übergeben werden.

<select name="meinSelect" id="meinSelectID" onchange="alert(this.value);">  
  <option>a</option>  
  <option>b</option>  
  <option>c</option>  
  <option>d</option>  
</select>

Im FF läuft's. Im IE hat das select keinen Wert. Wie bekomme ich das value an die Funktion übergeben?

Danke schonmal für Eure Mühen,
Dieter

  1. Im FF läuft's. Im IE hat das select keinen Wert. Wie bekomme ich das value an die Funktion übergeben?

    Feuert onchange überhaupt?

    1. Feuert onchange überhaupt?

      Jupp. Kommt halt ein leeres alert.

      1. Feuert onchange überhaupt?
        Jupp. Kommt halt ein leeres alert.

        Wie siehts mit getAttribute('value') aus?

        1. Wie siehts mit getAttribute('value') aus?

          Bei
          onchange="alert(this.getAttribute('value'));"
          kommt in beiden Browsern ein null.

          1. onchange="alert(this.getAttribute('value'));"
            kommt in beiden Browsern ein null.

            Und das ist so, weil du kein value-Attribut hast.

  2. Hallo Dieter,

    <select name="meinSelect" id="meinSelectID" onchange="alert(this.value);">

    <option>a</option>
      <option>b</option>
      <option>c</option>
      <option>d</option>
    </select>

      
    wenn deine OPTIONs keine Value-Attribute haben, brauchst du dich auch nicht zu wundern, dass sich kein Value auf das SELECT-Element überträgt. Versuch es mal so:  
      
    `<select name="meinSelect" id="meinSelectID" onchange="[code lang=javascript]alert(this.value);`{:.language-html}">  
      <option value="a">a</option>  
      <option value="b">b</option>  
      <option value="c">c</option>  
      <option value="d">d</option>  
    </select>[/code]  
      
    Gruß Gernot
    
    -- 
    [super me](http://community.de.selfhtml.org/my/visitenkarten/view.php?key=46)
    
    1. wenn deine OPTIONs keine Value-Attribute haben, brauchst du dich auch nicht zu wundern, dass sich kein Value auf das SELECT-Element überträgt.
      Gruß Gernot

      Ah, wie blöd kann man sein? Danke!

      1. Hallo Dieter,

        Ah, wie blöd kann man sein? Danke!

        Ich finde das gar nicht so blöd, den blöd ist hier eigentlich wieder mal nur der IE.

        In der Spezifikation heißt es ja zum Value des OPTION-Elements: "If this attribute is not set, the initial value is set to the contents of the OPTION element."

        Und zum onChange-Event des SELECT-Elements heißt es da: "The onchange event occurs when a control loses the input focus and its value has been modified since gaining focus."

        Ein SELECT-Element hat also auch einen Value, wenn man ihn auch nur indirekt über das Value-Attribut der selektierten Option setzen kann.

        Gruß Gernot

        1. Hallo zusammen,

          Ich finde das gar nicht so blöd, den blöd ist hier eigentlich wieder mal nur der IE.

          In Version 9 wird dieser Fehler endlich behoben sein.

          Gruß, Daniel

    2. Hallo,

      wenn deine OPTIONs keine Value-Attribute haben, brauchst du dich auch nicht zu wundern, dass sich kein Value auf das SELECT-Element überträgt.

      und das, obwohl es in der Spec heißt, wenn ein option-Element kein value hat, wird sein Inhalt als value hergenommen. Erstaunlich.

      Ciao,
       Martin

      --
      Ordnung ist, wenn man etwas findet, was man gar nicht sucht.
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. und das, obwohl es in der Spec heißt, wenn ein option-Element kein value hat, wird sein Inhalt als value hergenommen. Erstaunlich.

        Das erstaunt dich bei einem alten IE? :)

        1. Hallo,

          und das, obwohl es in der Spec heißt, wenn ein option-Element kein value hat, wird sein Inhalt als value hergenommen. Erstaunlich.
          Das erstaunt dich bei einem alten IE? :)

          äh, wenn ich so drüber nachdenke ... eigentlich doch nicht. :-)

          Ciao,
           Martin

          --
          Alle Tage sind gleich lang. Aber unterschiedlich breit.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. Hi,

    <select name="meinSelect" id="meinSelectID" onchange="alert(this.value);">

    <option>a</option>
      <option>b</option>
      <option>c</option>
      <option>d</option>
    </select>

    
    > Im FF läuft's. Im IE hat das select keinen Wert.  
      
    ja, ein alter Hut. FF "vererbt" sozusagen den Wert des ausgewählten option-Elements an das Elternelement select, IE tut das nicht. IE arbeitet hier insofern korrekt, als das select-Element selbst tatsächlich keine value-Eigenschaft hat; das Verhalten des FF ist ein freundliches Entgegenkommen an die Programmierer.  
      
    
    > Wie bekomme ich das value an die Funktion übergeben?  
      
    Gehe nicht über Los. Lies die selectedIndex-Eigenschaft des select-Elements aus und greife mit diesem Index auf die option-Elemente und deren values zu.  
      
    Ciao,  
     Martin  
    
    -- 
    Zwei Freundinnen tratschen: "Du, stell dir vor, die Petra kriegt ein Kind!" - "Ich kann mir schon denken, von wem." - "Dann ruf sie mal schnell an, das würde ihr bestimmt weiterhelfen."  
      
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(