2014-09-05 36 views
5

在我的项目中,我使用了select2组件。对于我选择的元素,我添加了图标和说明。代码是这样的: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; } 
     }); 

我的问题是:如何设置工具提示只是格式选项元素的子字符串。我的意思是我只需要工具提示的开始,而不是使用HTML内部的全部语法。预先感谢您的帮助。

回答

1

select2构造函数添加这两个参数:

formatResult: format, 
formatSelection: format 

,然后定义像下面的format功能选择2构造函数外:

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

原帖是here