Hinzufügen von Attribut in Dropdownlist vor InnerHtml.. inkl. JSfiddle Demo

bennot

Mitglied
Eine Dropdownliste wird automatisch mit Jahren gefüllt.

http://jsfiddle.net/13L235f0/2/

Ausgabe: <option value="1996">1996</option>

Ich benötige noch ein weiteres Attribut: <option value="1996" MEINATRIBUT>1996</option>

Wie bekomme ich dies nach Value und vor dem InnerHtml?

Hat jemand ein Beispiel? Vielen Dank.
 
MeinAttribut soll ein reiner Text sein ###marker_valueofYear###

muss ich einen eigenen option constructer schreiben, oder bekomme ich das auch so eingefügt?
 
Ein eigenes Attribut kannst Du so hinzufügen:
Code:
opt.setAttribute("data-test", xx);
Aber was hast Du damit vor? Oder willst Du diesen String zu value hinzufügen?
 
Hi Sempervivum,

vielen Dank. das geht in die richtige Richtung, aber ist nicht genau das was ich benötige.
In Typo3 will ich einer Dropdown list einen Marker übergeben, damit ich bei einem Schritt zurück in einem Formular die ausgewählten Werte erhalte.

opt.setAttribute macht folgendes:
<option value="2014" year="2014">2014</option>

Ich brauche:
<option value="2014" ###selected_year_2014###>2014</option>

wobei _2014### wieder die Value der Option sein soll.

Hat jemand eine Lösung?
 
Javascript:
var xx = "#";
var test = xx + 'test_' + year;
        opt.setAttribute(test,'');

opt.setAttr.. gibt mir schon mal ein Attribut ohne value zurück. Perfekt. Jetzt will ich noch ### einfügen.

Leider blockiert das Script an dieser Stelle sobald ich sonderzeichen verwende :(
 
Aaah, jetzt verstehe ich, was Du vorhast. Und
Code:
var test = '###selected_year_' + year + '###';
funktioniert nicht? AFAIK nimmt ein String jedes Zeichen an. Nur der Backslash zum Einfügen von Steuerzeichen hat eine besondere Bedeutung. Sonst haben Sonderzeichen haben nur in Regexes eine besondere Bedeutung.
Edit: Habe es ausprobiert und muss mich korrigieren: Ein Javascript-String nimmt zwar jedes Zeichen an, von HTML-Seite aus gesehen ist aber offenbar für einen Attributnamen nicht jedes Zeichen zulässig, so auch nicht das #. Nach diesem hier:
http://stackoverflow.com/questions/925994/what-characters-are-allowed-in-an-html-attribute-name
gibt es dafür auch eine Spezifikation, aber es war mir zu kompliziert, diese zu lesen.
Leider habe ich keine Kenntnisse in Typo3 und kann dir nicht helfen, eine alternative Lösung auszuarbeiten. Vielleicht meldet sich da noch jemand anders.
 
Zuletzt bearbeitet:
Zurück