Steffen Flämig: DOM: <option> dynamisch in <select> einfügen

Hallo,

ich erzeuge dynamisch mit JavaScript ein
<select>:

var foo = document.createElement("select");

und möchte dann einige Einträge einfügen:

for (var i = 0; i < 10; i++)
{
 var bar = document.createElement("option");
 bar.setAttribute("label","test");
 foo.appendChild(bar);
}

Die <option>'s werden offensichtlich auch eingefügt, allerdings sind sie
leer.

Wie setzte ich sowohl die in der Auswahlliste angezeigten als auch die
vom Formular übergebenen Werte richtig?

MfG Steffen

  1. Wie setzte ich sowohl die in der Auswahlliste angezeigten als auch die
    vom Formular übergebenen Werte richtig?

    MfG Steffen

    nutz doch einfach das options-Objekt

  2. Hellihello

    Fritz hat recht, zum Verständnis aber:

    Du hast zwar Option-Elemente erzeugt und sie auch eingehängt, aber nur ein label-Attribut gesetzt. Rauskommen tut also:

    <option label="test></option>

    was fehlt ist:

    optionText=document.createTextNode("meinText");

    bar[wiesobar, ist doch "option"].appendChild(optionText);

    Gruß,

    frankx

  3. Tach auch.

    ohne groß rumzudiskutieren warum und wieso:

    var entry = document.createElement("option");
      entry.text = 'Text';
      entry.value = 'Wert';
      meine_select_box.add(entry, document.all ? meine_select_box.length : null);

    Tut bei mir im FF und im IE und stammt quasi direkt aus Selfhtml, nämlich von http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#select (sieh dir das Beispiel an)

    Bis die Tage,
    Matti