HTML5: datalist - option

  • Ich möchte in einer datalist eine Option als 'selected' anzeigen lassen, erhalte aber immer ein leeres Input-Feld. Hier der Code:



    Hat wer eine Idee, wie es funktionieren kann? Thx, Marilu

  • Hi,
    @nitamund .. das hier ist unnötig und verursacht nur mehr Traffic und weniger Übersicht.:

    Code
    selected="selected"

    .. einfach

    HTML
    <option value="x" selected>

    und alles ist ready. :)

  • Hi,
    @nitamund .. das hier ist unnötig und verursacht nur mehr Traffic und weniger Übersicht.:


    Jap, ich habs nur der Vollständigkeit halber so geschrieben, da es sonst nicht XHTML konform ist:
    "In XHTML, attribute minimization is forbidden."

  • Zitat

    <option value="x" selected>

    Ich habe alle m öglichen Kombinationen mit selected ausprobiert ... ohne Erfolg.


    Zitat

    <!DOCTYPE html>

    Was ist gegen doctype einzuwenden?


    Auf jeden Fall klappt das selected nicht. Das ist die conditio sine qua non für datalist.

  • Er ist nicht optional wenn du danach ein Wort schreibst.. (dann wird dein Code invalide), außerdem gehört das zum schlechten Stil .. solang du es so angehst..:

    HTML
    <option label="the ABCD" value="abcd">
    <option label="the EFGH" value="efgh">
    <option label="the IJKL" value="ijkl">

    stimmt deine aussage und es ist Valider ordentlicher Code.

    HTML
    <option value="abcd">the ABCD
    <option value="efgh">the EFGH
    <option value="ijkl">the IJKL

    Dad da ist aber bullsh*t

  • OK, da gebe ich Dir recht. Ich habe es jetzt so geändert:


    Geht aber auch nicht. Es wird kein Element vorselektiert.

  • Ich habe das grad mal ausprobiert un es kann gut sein das es kein selected für options in datalist's gibt.
    Dann musst du dein Input feld halt Vorbelegen. Die Datalist ist ja nur eine Vorschlagsliste..
    Wenn du Label und Value mit dem gleichen Inhalt füllst, kannst du dir das Label auch spaaren! :)
    Genauso wie type="text" (denn Standart ist type="text") <- also weglassen.
    Gewöhne dir an ID's und Klassen namen immer klein zu schreiben.. das führt später nur zu verwirrung.
    Genauso solltest du die Namen der inputs klein schreiben für die weitere Verarbeitung, auch da führt es nur zu verwirrung.


    hier mal optimiert:

  • >Dann musst du dein Input feld halt Vorbelegen


    Danke, wolf. Der Tip ist der richtige. Ich hatte das in meiner Anwendung bei <input> versucht, hatte aber die value-Angabe vergessen. Jetzt scheint es zu laufen.


    Laut W3C gibt es das selected-Attribut für <datalist><option>.


    Zu den IDs und Klassen: Ich habe mir generell - wie auch bei Funktionen - die JS - CamelCase - Schreibweise angewöhnt. Ist für mich bei größeren Anwendungen übersichtlicher.
    Es geht weiter mit <datalist>:


    Ich versuche, die Liste mit JS zu generieren, z. B. neues Element einfügen:


    JavaScript
    len =top.content.document.getElementById( 'formTyp' ).options.length;
    Typ = new Option( 'de Ville Convertible' );
    top.content.document.getElementById( 'formTyp' ).options[len] = Typ;


    Die erste Zeile ohne .options, wie bei <select> üblich, bringt eine Fehlermeldung. Irgendwie scheint <datalist> anders zu reagieren, wie <select>. Weiß jemand Rat?

  • Danke für Dein Engagement. Ich habe mich jetzt aber entschlossen, den Fallback auf <select> zu machen und für neue Einträge ein Image als Button zu setzen. Ich denke, damit kommen unbedarfte User eher klar.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!