2015-09-29 18 views
5

Ich habe eine select:
Wie füge ich ein Bild in Select2 Optionen hinzu?

<select data-bind="options : PeriodeOptions, optionsValue : 'Periode', 
optionsText : function(item) { return AddLock(item)}" id="SelectPeriode"></select> 


Und ich habe meine fucntion;

//am - Fonction permettant d'ajouter le cadenas à côté de la Periode si elle est cloturée 
     function AddLock(pItem) { 
      if (!pItem.IsCloturePeriode) 
       return pItem.Periode; 
      var lTemplate = $('<span>' + pItem.Periode + '<img src="/Ressources/Images/Locked.png"/></span>'); 
      return lTemplate; 
     }; 


Es sendet mir ein Objekt: enter image description here
Bitte um Hilfe!

Antwort

5

Ich bin nicht sicher, ob die Frage falsch markiert ist, aber ich sehe nicht, Ihre select2 Funktion im Code youve

jedoch hier angegeben werden, eine Probe von select2 Templating-Code, die Bilder in der Auswahl verwenden würde, und das Ergebnis

function formatData (data) { 
    if (!data.id) { return data.text; } 
    var $result= $(
    '<span><img src="/Ressources/Images/Locked.png"/> ' + data.text + '</span>' 
); 
    return $result; 
}; 

$("#SelectPeriode").select2({ 
    templateResult: formatData, 
    templateSelection: formatData 

}); 
+0

Ja ich habe eine select2 Funktion, es ist nur nicht im Code angezeigt. Ich fand tatsächlich die Lösung, es ist ähnlich wie deine, aber ich mag deine mehr. Ich habe: '' - Ich verließ Optionen und optionValue (entfernte OptionText). Und in templateResult und templateSelection ich tat: 'function (item) {var lTemplate = $ ( '' + item.text + '' ); Rückgabe lTemplate; }, ' –

Verwandte Themen