jquery 如何在Select2中插入FontAwesome

dwthyt8l  于 2023-10-17  发布在  jQuery
关注(0)|答案(3)|浏览(95)

我不知道如何在Select2中插入fontawesome。我应该在其中添加CSS或JS吗?我有一个像下面的视图。
点击:http://s10.postimg.org/675fig9vd/Capture121212121.png
有人能帮帮我吗?

yebdmbv4

yebdmbv41#

基于我的插件WP Mobile Splash Page Editor,我做了一个快速的小提琴:http://jsfiddle.net/SiamKreative/qCn6p/

function format(icon) {
    var originalOption = icon.element;
    return '<i class="fa ' + $(originalOption).data('icon') + '"></i> ' + icon.text;
}
$('.wpmse_select2').select2({
    width: "100%",
    formatResult: format
});
mw3dktmi

mw3dktmi2#

基于SiamKreative的答案,您还可以将formatSelection添加到select2选项中,以便选定的项目也可以具有图标。下面是详细代码:
JavaScript:

function format(icon) {
    var originalOption = icon.element;
    return '<i class="fa ' + $(originalOption).data('icon') + '"></i> ' + icon.text;
}

$('.wpmse_select2').select2({
    width: "100%",
    formatResult: format,
    formatSelection: format
});

添加以下css代码以样式化所选项目:

.select2-chosen .fa {
    float: right;
    position: relative;
    line-height: 26px;
}
anauzrmj

anauzrmj3#

您需要返回一个jQuery对象而不是字符串,以防止它在v4中被转义

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
});

http://jsfiddle.net/dleffler/15myta6t/

相关问题