function addIcons(opt) {
if (!opt.id) {
return opt.text;
}
var optimage = opt.attr('data-image');
var $opt = $(
'<span><img src="https://stackoverflow.com/images/flags/" + optimage + '" class="img-flag" /> ' + opt.text + '</span>'
);
return $opt;
}
Leider ist eine einfache console.log(opt); gibt in der Funktion nichts zurück, daher kann ich nicht sehen, ob ich auf mein data-image-Attribut zugreifen kann. Der obige Codeblock gibt einen Fehler zurück, also funktioniert das offensichtlich nicht. Irgendwelche Vorschläge zu diesem Thema?
Ein Fehler? Wie lautet die konkrete Fehlermeldung? Haben Sie eine jsfiddle-Demo?
– PeterKA
26. März 2015 um 23:04 Uhr
JHOAN B. HENRICHE
Gelöst mit attr und getestet auf Select2 4.0.6-rc.0.
Das ist dasselbe wie in meinem Beispiel, und das hat nicht funktioniert: var optimage = opt.attr(‘data-image’);
– WarreBuysse
9. Oktober 2015 um 19:21 Uhr
Ich versuche die Antwort zu vervollständigen
– Benutzer4540007
10. Oktober 2015 um 5:40 Uhr
Versuche dies:
var optimage = $(opt).data('image'); //or $(opt).attr('data-image')
var $opt = $(
'<span><img src="'%20+%20optimage%20+%20'" class="img-flag" /> ' + $(opt).text() + '</span>'
);
Nicht unbedingt im Zusammenhang mit der Frage, aber in meinem Fall hat es nicht funktioniert, denn wenn Sie Select 2 < 4.0 verwenden, templateResult und templateSelection ist nicht vorhanden. Verwenden formatResult und formatSelection stattdessen.
10161400cookie-checkSelect2 Bildsymbol dynamisch zur Option hinzufügenyes
Ein Fehler? Wie lautet die konkrete Fehlermeldung? Haben Sie eine jsfiddle-Demo?
– PeterKA
26. März 2015 um 23:04 Uhr