Wie kann ich eine editierbare Dropdown-Liste in HTML erstellen?
Ich möchte ein Textfeld mit einer dropdown-Liste, über die der Benutzer wählen Sie einige vordefinierte Werte. Der Benutzer sollte auch in der Lage sein, um geben Sie einen neuen Wert ein oder wählen Sie eine vordefinierte man aus einer dropdown-Liste. Ich weiß, dass ich zwei widgets für die, aber in meiner app wäre es mehr ergonomnic, wenn es vereint war, in einem widget.
Gibt es ein standard-widget oder muss ich über einen Dritten javascript?
Wie etwa browser-Portabilität?
InformationsquelleAutor der Frage | 2008-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der beste Weg, dies zu tun, ist wahrscheinlich die Verwendung einer Drittanbieter-Bibliothek.
Gibt es eine Umsetzung dessen, was Sie suchen, in jQuery UI und in dojo. jQuery wird immer beliebter, aber dojo können Sie deklarativ definieren, widgets in HTML, das klingt eher wie das, was Sie suchen.
Welche Sie verwenden, hängt von Ihrem Stil, aber beide sind entwickelt für cross-browser arbeiten, und beide werden häufiger aktualisiert werden als kopieren und einfügen von code.
InformationsquelleAutor der Antwort Dan Monego
Können Sie dies mithilfe der
<datalist>
- tag in HTML5.Wenn Sie doppelklicken Sie auf die Eingabe von text im browser eine Liste mit der angegebenen option angezeigt wird.
InformationsquelleAutor der Antwort Alexandru Boerescu
Den
<select>
tag erlaubt nur die Verwendung von vordefinierten Einträgen. Die typische Lösung für Ihr problem ist ein Eintrag mit der Bezeichnung "Andere" und einem deaktivierten Eingabefeld (<input type="text"
). Fügen Sie einige JavaScript-zum aktivieren des edit-Feld nur, wenn "Andere" ausgewählt ist.Kann es möglich sein, irgendwie erstellen Sie eine dropdown-Liste, ermöglicht die direkte Bearbeitung, aber IMO nicht der Mühe Wert. Wenn Sie es war, Amazon, Google oder Microsoft würde es tun 😉 Nur die Arbeit zu erhalten erledigt mit der am wenigsten komplizierte Lösung. Als schneller (Ihr Chef kann wie, die) und in der Regel leichter zu pflegen (können wie die).
InformationsquelleAutor der Antwort Treb
Sehr einfache Implementierung (nur Basisfunktionen), basierend auf CSS und eine Zeile JS-code
Bitte beachten Sie: es nutzt previousElementSibling nicht unterstützt in älteren Browsern (unter IE9)
Hier ist er
JSFiddle
InformationsquelleAutor der Antwort Max
ComboBox mit TextBox (Für die vordefinierten Werte als auch Benutzer-definierte Werte.)
ComboBox mit Textfeld (Hier Klicken)
InformationsquelleAutor der Antwort Lakshmana Kumar D
Ich bin nicht sicher, es ist ein Weg, um es automatisch zu tun, ohne javascript.
Was Sie brauchen, ist etwas, das läuft auf der browser-Seite, um das Formular Absenden an den server zurück, wenn Sie Benutzer eine Auswahl vornimmt, also javascript.
Stellen Sie außerdem sicher, Sie haben eine andere Methode (z.B. ein submit-button) für diejenigen, die javascript ausgeschaltet haben.
Ein gutes Beispiel: Combo-Box-Viewer
Hatte ich sogar eine mehr anspruchsvolle combo-box von gestern, mit diesem dhtmlxCombo , die mit ajax zum abrufen von relevanten Werte unter der großen Menge von Daten.
InformationsquelleAutor der Antwort VonC
Einer combobox ist leider etwas, das übrig war, aus den HTML-Spezifikationen.
Der einzige Weg, um es zu verwalten, eher leider, ist Rollen Sie Ihre eigenen oder verwenden Sie einen pre-built. Diese eine Recht einfach aussieht. Ich benutze diese eine für ein open-source-app, die zwar leider müssen Sie zahlen für die kommerzielle Nutzung.
InformationsquelleAutor der Antwort
Ein wenig CSS und fertig
fiddle
InformationsquelleAutor der Antwort atom217