Ich habe eine ausgewählte Liste von Geschlechtern.
Code:
<select>
<option>male</option>
<option>female</option>
<option>others</option>
</select>
Ich möchte ein Bild in der Dropdown-Liste als Dropdown-Symbol.jpeg verwenden.
Ich möchte anstelle des Dropdown-Symbols eine Schaltfläche hinzufügen.
Wie geht das?
<option>
s; unterstützt von allem ab IE 8.0, klein und einfach.Antworten:
In Firefox können Sie der Option einfach ein Hintergrundbild hinzufügen:
Besser noch, Sie können HTML und CSS so trennen
HTML
CSS
In anderen Browsern wäre die einzige Möglichkeit, dies zu tun, die Verwendung einer JS-Widget-Bibliothek, wie beispielsweise der jQuery-Benutzeroberfläche , z . B. die Verwendung von Selectable .
Ab jQuery UI 1.11 ist das Selectmenu- Widget verfügbar, das Ihren Wünschen sehr nahe kommt.
quelle
Meine Lösung besteht darin, FontAwesome zu verwenden und dann Bibliotheksbilder als Text hinzuzufügen! Sie benötigen nur die Unicodes und diese finden Sie hier: FontAwesome-Referenzdatei für Unicodes
Hier ist ein Beispiel für einen Statusfilter:
quelle
Sie können iconselect.js verwenden. Symbol- / Bildauswahl (Combobox, Dropdown)
Demo und Download; http://bug7a.github.io/iconselect.js/
HTML-Nutzung;
Verwendung von Javascript;
quelle
<!doctype html>
definiert haben.Sie haben bereits mehrere Antworten, die die Verwendung von JavaScript / jQuery vorschlagen. Ich werde eine Alternative hinzufügen, die nur HTML und CSS ohne JS verwendet.
Die Grundidee besteht darin, eine Reihe von Optionsfeldern und Beschriftungen (die die Optionsfelder aktivieren / deaktivieren) zu verwenden und mit der CSS-Steuerung nur die Beschriftung anzuzeigen, die dem ausgewählten Optionsfeld zugeordnet ist. Wenn Sie die Auswahl mehrerer Werte zulassen möchten, können Sie dies mithilfe von Kontrollkästchen anstelle von Optionsfeldern erreichen.
Hier ist ein Beispiel. Der Code kann etwas unordentlicher sein (speziell im Vergleich zu den anderen Lösungen):
quelle
Eine andere browserübergreifende jQuery-Lösung für dieses Problem ist http://designwithpc.com/Plugins/ddSlick, die genau für diese Verwendung entwickelt wurde.
quelle
$(...).ddslick
ist keine Funktion in der Firefox-KonsoleIn Ländern, Sprachen oder Währungen können Sie Emojis verwenden.
Funktioniert mit so ziemlich jedem Browser / Betriebssystem, das die Verwendung von Emojis unterstützt.
quelle
Für ein zweifarbiges Bild können Sie Fontello verwenden und alle benutzerdefinierten Glyphen importieren, die Sie verwenden möchten. Erstellen Sie einfach Ihr Bild in Illustrator, speichern Sie es in SVG, legen Sie es auf der Fontello-Website ab und laden Sie Ihre benutzerdefinierte Schriftart zum Importieren herunter. Kein JavaScript!
quelle
Ich habe mehrere jquery-basierte benutzerdefinierte Auswahl mit Bildern ausprobiert, aber keine funktionierte in reaktionsschnellen Layouts. Endlich bin ich auf Bootstrap-Select gestoßen. Nach einigen Änderungen konnte ich diesen Code erstellen.
Code und Github Repo hier
quelle
Für diejenigen, die ein Symbol anzeigen möchten und eine "Schwarzweiß" -Lösung akzeptieren möchten, besteht eine Möglichkeit darin, Zeichenentitäten zu verwenden:
Durch die Erweiterung können Ihre Symbole in einer benutzerdefinierten Schriftart gespeichert werden. Hier ist ein Beispiel mit der Schriftart FontAwesome : https://jsfiddle.net/14606fv9/2/ https://jsfiddle.net/14606fv9/2/
Ein Vorteil ist, dass kein Javascript erforderlich ist. Beachten Sie jedoch, dass das Laden der vollständigen Schriftart das Laden Ihrer Seite nicht verlangsamt.
Hinweis: Die Lösung für die Verwendung eines Hintergrundbilds scheint in Firefox nicht mehr zu funktionieren (zumindest in Version 57 "Quantum"):
quelle
Alvaros JS kostenlose Antwort war ein guter Anfang für mich, und ich habe wirklich versucht, eine wirklich JS-freie Antwort zu erhalten, die immer noch alle Funktionen bietet, die von einem Select mit Bildern erwartet werden, aber leider war das Verschachteln von Formularen der Niedergang. Ich poste hier zwei Lösungen. Meine Hauptlösung, die 1 Zeile JavaScript verwendet, und eine vollständig JavaScript-freie Lösung, die in einem anderen Formular nicht funktioniert, aber für Navigationsmenüs nützlich sein kann.
Leider gibt es einige Wiederholungen im Code, aber wenn Sie darüber nachdenken, was ein Select macht, ist dies sinnvoll. Wenn Sie auf eine Option klicken, wird dieser Text in den ausgewählten Bereich kopiert. Wenn Sie also auf eine von vier Optionen klicken, werden die 4 Optionen nicht geändert. Oben wird jedoch die angeklickte Option wiederholt. Um dies mit Bildern zu tun, wäre JavaScript erforderlich, orrrr ... Sie duplizieren die Einträge.
In meinem Beispiel haben wir eine Liste von Spielen (Produkten), die Versionen haben. Jedes Produkt kann auch Erweiterungen haben, die auch Versionen haben können. Für jedes Produkt geben wir dem Benutzer eine Liste jeder Version, wenn es mehr als eine gibt, zusammen mit einem Bild und einem versionenspezifischen Text.
Wenn Sie JS für die Deaktivierung der Kontrollkästchen verwenden, können mehrere Instanzen in einem Formular vorhanden sein. Hier habe ich erweitert, um eine Liste von Erweiterungen anzuzeigen, die auch die gleiche Logik für Versionen haben.
Dies erfordert natürlich einiges an CSS, das ich nur in diese JSFiddle aufgenommen habe , um die Größe dieser bereits massiven Antwort zu reduzieren. Ich habe Bootstrap 4 verwendet, um die benötigte Menge zu reduzieren und um zu ermöglichen, dass es in andere Bootstrap-Steuerelemente und alle vorgenommenen Site-Anpassungen passt.
Die Bilder sind auf 75px eingestellt, dies kann jedoch leicht in 5 Zeilen in
.rich-select
und geändert werden.rich-select-option-body img
quelle
Ich habe das gleiche Problem. Meine Lösung war eine Auswahl von Optionsfeldern mit dem Bild rechts davon. Da Sie im Radio nur eine einzige Option auswählen können, funktioniert dies (wie) eine Auswahl.
Arbeite gut für mich. Hoffe, es kann jemand anderem helfen.
quelle
<select>
ist nicht unbedingt für die Auswahl eines einzelnen WertesDies verwendet ms-Dropdown: https://github.com/marghoobsuleman/ms-Dropdown
Datenressource ist json. Aber Sie müssen nicht json verwenden. Wenn Sie möchten, können Sie mit CSS verwenden.
CSS-Beispiel: https://github.com/marghoobsuleman/ms-Dropdown/tree/master/examples
Json Beispiel: http://jsfiddle.net/tcibikci/w3rdhj4s/6
HTML
Skript
quelle
UPDATE: Ab 2018 scheint dies jetzt zu funktionieren. Getestet in Chrome, Firefox, IE und Edge
quelle