2014-09-05 13 views
5

Nel mio progetto sto usando il componente select2. Ai miei elementi selezionati ho aggiunto icona e descrizione. Codice è qualcosa di simile:tooltip degli elementi selezionati nel componente select2

function format(profile_opt) { 
     return profile_opt.text + "<br><span class=\"description_select2\"><i>" + $(profile_opt.element).attr('title') + "</i></span><br>" + 
     ($(profile_opt.element).attr('start').length==0?'':('from: <b>' + $(profile_opt.element).attr('start') + '</b>')) + ($(profile_opt.element).attr('end').length==0?'':(' to: <b>' + $(profile_opt.element).attr('end') + '</b>')) + 
     " <a href=\"#\" onclick=javascript:showUrlInDialogWithOptionId(\"<%=request.getContextPath()%>/assignments_date_set.jsp\",\"" + profile_opt.id + "\",\"" + $(profile_opt.element).attr('start') + "\",\"" + $(profile_opt.element).attr('end') + "\")>" + 
     "<img src=\"images/icons/small/grey/clock.png\" title=\"Set start and end assignment dates\" alt=\"Set start and end assignment dates\" class=\"clock\" id=\"clock\" width=\"20px\" height=\"20px\"></a>"; 
    } 

    function format2(profile_opt){ 
     return profile_opt.text +"<br><span class=\"description_select2\"><i>" + $(profile_opt.element).attr('title') + "</i></span>"; 
    } 

    $('#selected_profiles').select2({ allowSelectAllNone: true, closeOnSelect:false, width: '600px', placeholder: 'Click to select', 
     formatResult: format2, 
     formatSelection: format, 
     escapeMarkup: function(m) { return m; } 
     }); 

La mia domanda è: come impostare i suggerimenti per essere solo sottostringa di elemento opzione di formattazione. Voglio dire, mi serve solo l'inizio del suggerimento, non tutta questa sintassi con html all'interno. Grazie in anticipo per qualsiasi aiuto.

risposta

1

Aggiungere questi 2 parametri nel costruttore select2:

formatResult: format, 
formatSelection: format 

E poi definire la funzione format come qui di seguito al di fuori del costruttore select2:

function format(item) { 
    var originalText = item.text; 
    return "<div title ='" + originalText + "'>" + originalText + "</div>"; 
} 

Original post è here

Problemi correlati