{ "$schema": "../../schemas/code-crispies-module-schema.json", "id": "html-datalist", "title": "Datalist: Autovervollständigung", "description": "Biete Vorschläge für Texteingaben ohne JavaScript", "mode": "html", "difficulty": "beginner", "lessons": [ { "id": "datalist-basic", "title": "Eingabe mit Vorschlägen", "description": "Das <datalist>-Element bietet Autovervollständigungs-Vorschläge für Eingabefelder. Verbinde es mit dem list-Attribut am Input, das zur id der Datalist passt.

Benutzer können trotzdem frei tippen - Vorschläge sind nur Hilfen!", "task": "Erstelle eine Browser-Auswahl:
1. Füge ein <label> mit 'Browser:' hinzu
2. Füge ein <input> mit list=\"browsers\" hinzu
3. Füge eine <datalist id=\"browsers\"> mit Optionen für Chrome, Firefox und Safari hinzu", "previewHTML": "", "previewBaseCSS": "body { font-family: system-ui; padding: 20px; } label { display: block; margin-bottom: 8px; font-weight: 500; } input { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 6px; font-size: 16px; } input:focus { outline: 2px solid #1976d2; border-color: transparent; }", "sandboxCSS": "", "initialCode": "", "solution": "\n\n\n ", "previewContainer": "preview-area", "validations": [ { "type": "element_exists", "value": "datalist", "message": "Füge ein -Element hinzu" }, { "type": "attribute_value", "value": { "selector": "input", "attr": "list", "value": "browsers" }, "message": "Verbinde das Eingabefeld mit der Datalist über list=\"browsers\"" }, { "type": "element_count", "value": { "selector": "option", "min": 3 }, "message": "Füge mindestens 3