2017-02-27 22 views
0

Ich versuche hier hinzufügen Bild neben Text select2 Hinzufügen von Bild verwendet, ist mein Code:sendet neben Text in select2 einem Objekt

$(".js-example-templating").select2({ 
    templateResult: formatState, 
    templateSelection: formatState 
}); 
function formatState (state) { 
    if (!state.id) { return state.text; } 
    var $state = $(
    '<span><img src="/dist/images/icons/[email protected]" class="img-flag" /> ' + state.text + '</span>' 
); 
    return $state; 
}; 

I [Object] im Auswahlmenü bekam: enter image description here Und wenn ich einen der Benutzer wählen ich habe, was ich will: enter image description here

ich kann nicht mein Fehler finden!

+0

versuchen, einen 'console.log (state)', so dass Sie es und die wünschenswerten sehen debuggen zu verwendendes Attribut. – PacMan

+0

die console.log ($ state) zeigt "[Object Object]", aber wenn ich google chrome breakpoints benutze, kann ich sehen, dass $ state korrekt mit der span gefüllt ist, ich will –

+0

Ich weiß nicht warum, es funktioniert für das ausgewählte Objekt und nicht für die Liste, auch wenn ich die gleiche Funktion für templateResult und templateSelection aufrufen würde –

Antwort

0

ich meinen Fehler endlich gefunden, hatte ich das Jquery-Objekt Zeichenfolge zu konvertieren, bevor sie zu senden:

return $state.prop('outerHTML');