在select2 V4下拉项目中添加fontawesome图标
我试图在Select2 v4下拉项目中显示fontawesome图标。 但是下拉列表显示的是html并且没有生成实际图标。 此方法适用于select2 V3,但似乎不适用于v4。 任何帮助表示赞赏。 谢谢
HTML
Dribbble Dropbox Facebook
JS
function iformat(icon) { var originalOption = icon.element; return ' ' + icon.text; } $('.icons_select2').select2({ width: "100%", templateSelection: iformat, templateResult: iformat });
请参阅小提琴,获取示例: http : //jsfiddle.net/qCn6p/206/
这是你的更新小提琴
你必须将你的元素包装在jquery中,如下所示:
function iformat(icon) { var originalOption = icon.element; return $(' ' + icon.text + ''); } $('.icons_select2').select2({ width: "100%", templateSelection: iformat, templateResult: iformat, allowHtml: true });
使用“escapeMarkup”选项如下
$('.icons_select2').select2({ width: "100%", templateSelection: iformat, templateResult: iformat, escapeMarkup: function(m) { return m; } });
您可以使用$.parseHTML()
包装返回值。
示例: return $.parseHTML(' ' + icon.text);
FYI如果为templateSelection / templateResult重写函数返回一个字符串,它将被转义(除非你也覆盖了escapeMarkup函数),但是如果你返回一个jquery对象,它将不会被转义。
一些示例还忽略了没有和id的格式输入
if (!icon.id) { return icon.text; }
看到这个小提琴http://jsfiddle.net/dleffler/15myta6t/3/