2014-01-31 95 views

回答

8

基于我的插件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 
}); 

希望帮助;)

+1

是的,这很棒..谢谢 –

4

基于SiamKreative的回答,您还可以添加formatSelection以选择二选项,以便所选项目也可以有图标。下面是详细的代码:

的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; 
} 
+0

嗨,这对于select2 v3非常适用。你知道如何使用select2 v4来改变他们对templateSelection和templateResults的改变。进行更新后,图标不显示。看小提琴。 [http://jsfiddle.net/qCn6p/194/](http://jsfiddle.net/qCn6p/194/) – WildWing

+0

嗨@WildWing,我用select2 v4创建了新的小提琴,请检查:http:// jsfiddle达网络/ harisrozak/exad6124 / – harisrozak

0

你需要返回一个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/