将fontawesome图标添加到select2 V4下拉项中

Wil*_*ing 3 javascript jquery jquery-select2-4 fontawesome-4.4.0

我正在尝试在Select2 v4下拉项中显示fontawesome图标。但是下拉菜单显示的是html,而不是生成实际的图标。此方法适用于select2 V3,但似乎不适用于v4。任何帮助表示赞赏。谢谢

的HTML

<div class="select2-wrapper">
    <select class="input icons_select2">
        <option value="fa-dribbble" data-icon="fa-dribbble">Dribbble</option>
        <option value="fa-dropbox" data-icon="fa-dropbox">Dropbox</option>
        <option value="fa-facebook" data-icon="fa-facebook">Facebook</option>
    </select>
</div>
Run Code Online (Sandbox Code Playgroud)

JS

function iformat(icon) {
var originalOption = icon.element;
return '<i class="fa ' + $(originalOption).data('icon') + '"></i> ' + icon.text;
}
$('.icons_select2').select2({
width: "100%",
templateSelection: iformat,
templateResult: iformat
});
Run Code Online (Sandbox Code Playgroud)

有关示例,请参见小提琴:http : //jsfiddle.net/qCn6p/206/

Gil*_* Q. 7

这是您更新的小提琴

您必须像这样将元素包装在jquery中:

function iformat(icon) {
    var originalOption = icon.element;
    return $('<span><i class="fa ' + $(originalOption).data('icon') + '"></i> ' + icon.text + '</span>');
}
$('.icons_select2').select2({
    width: "100%",
    templateSelection: iformat,
    templateResult: iformat,
    allowHtml: true
});
Run Code Online (Sandbox Code Playgroud)