Select2 Bild hinzufügen-Symbol, um die option dynamisch
Dies ist, was select2.github.io bietet Ihnen:
function addIcons(opt) {
if (!opt.id) {
return opt.text;
}
var $opt = $(
'<span><img src="/images/flags/' + opt.element.value.toLowerCase() + '.png" class="img-flag" /> ' + opt.text + '</span>'
);
return $opt;
}
Ich möchte noch hinzufügen, dass ein data-image-Attribut, um meine Optionen:
<option value="flag" data-image="/images/flags/flag.png">Country 1</option>
und melden Sie es der Funktion:
function addIcons(opt) {
if (!opt.id) {
return opt.text;
}
var optimage = opt.attr('data-image');
var $opt = $(
'<span><img src="/images/flags/' + optimage + '" class="img-flag" /> ' + opt.text + '</span>'
);
return $opt;
}
Traurig, eine einfache Konsole.log(opt); nichts zurückgibt, in der Funktion, so kann ich nicht sehen wenn ich auf meine Daten zugreifen kann-Bild-Attribut. Die oben genannten code-block einen Fehler zurück, so dass dies offensichtlich nicht funktioniert. Anregungen zu diesem Thema?
Ein Fehler? Was ist die konkrete Fehlermeldung? Sie haben ein jsfiddle demo?
InformationsquelleAutor Warre Buysse | 2015-03-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gelöst mit
attr
getestet und auf Select2 4.0.6-rc.0.InformationsquelleAutor JHOAN B. HENRICHE
Ich problem mit diesem code:
var optimage = $(opt.element).data('image');
Ich versuchen Sie, zu beantworten
InformationsquelleAutor
Versuchen Sie dies:
InformationsquelleAutor PeterKA
Nicht unbedingt im Zusammenhang mit der Frage, aber in meinem Fall war es nicht zu arbeiten, denn wenn Sie mit Select 2 < 4.0,
templateResult
undtemplateSelection
existiert nicht. VerwendenformatResult
undformatSelection
statt.InformationsquelleAutor Lucas Bustamante