我使用的是select2版本4
我试着这样:
$("select02").select2({
placeholder: "<i class='fa fa-sitemap'></i>Branch name",
});
但是,它不起作用
演示是这样的:http://jsfiddle.net/fc1qevem/8/
解决我问题的任何解决方案?
答案 0 :(得分:12)
请务必先阅读参考资料/手册!
来自web site上的官方 select2 示例;
function formatState (state) {
if (!state.id) { return state.text; }
var $state = $(
'<span><img src="vendor/images/flags/' + state.element.value.toLowerCase() +
'.png" class="img-flag" /> ' +
state.text + '</span>'
);
return $state;
};
$(".js-example-templating").select2({
templateResult: formatState
});
为您提供结果:
答案 1 :(得分:2)
找到此How to add html placeholder to select2?
所以你需要的是:
$("select02").select2({
placeholder: '<i class="fa fa-sitemap"></i>Branch name',
escapeMarkup : function(markup) {
return markup;
}
});
答案 2 :(得分:1)
对于图标而不是img,请使用:
function format (state) {
if (!state.id) { return state.text; }
return '<i class="fa fa-lg '+state.id.toLowerCase()+'"></i> '+state.text;
}
$("#select2icon").select2({
formatResult: format,
formatSelection: format,
escapeMarkup: function(m) { return m; }
});
答案 3 :(得分:0)
这是工作示例:
function format(state) {
if (!state.id)
return state.text; // optgroup
return "<img class='flag' src='images/flags/" + state.id.toLowerCase() + ".png'/>" + state.text;
}
$("#select2").select2({
formatResult: format,
formatSelection: format,
escapeMarkup: function(m) { return m; }
});
js以上的用户。
答案 4 :(得分:0)
您几乎拥有了它。您只需要添加“ escapeMarkup”。请参见下面的代码。
var select02 = $('#select02');
$(select02).select2({
data: [{
id: 0,
text: "test01"
}, {
id: 1,
text: "test02"
}, {
id: 2,
text: "test03"
}, {
id: 3,
text: "test04"
}, {
id: 4,
text: "test05"
}],
placeholder: "<i class='fa fa-sitemap'></i>Branch name",
escapeMarkup: function (markup) { return markup; }
});
答案 5 :(得分:0)
对于每the migration guide,3.5.x之后的版本不再使用formatResult
或formatSelection
。这些已被templateResult
和templateSelection
取代。
function iconFromValue(val){
if(val.element){
val = `<span class="select2-option-img"><img src="${val.element.value}"><span> ${val.text}`;
}
return val;
}
$(document).ready(function() {
$('.select2').select2({
templateResult: iconFromValue,
templateSelection: iconFromValue,
escapeMarkup: function(m) { return m; }
});
}