我正在使用bootstrap和select2。 我想要的是在选择框中将文本更改为图像。
例如,如果select2的选定值为'N',
我想将data-init-text
更改为以下html。
<i class="fa fa-thumbs-o-down"></i>
我不会更改输入值,只会更改文本。
但是,当我尝试使用以下代码时,它不起作用。
var iconicObj = {};
iconicObj.N = 'fa fa-thumbs-o-down';
iconicObj.Y = 'fa fa-thumbs-o-up';
function iconifyCode(id, iconicObj){
var mother = $('#s2id_2-' + id);
var target = $(':input[name="' + id + '"]');
var value = target.val();
var icon = iconicObj[value];
// target.attr('data-init-text', '<i class="' + icon + '"></i>');
mother.find('.select2-chosen').eq(0).text('').append('<i class="' + icon + '"></i>');
}
i
标签已插入但图标未显示。
加载后,它变得像......
<span class="select2-chosen" id="select2-chosen-4">
<i class="fa fa-thumbs-o-down">
::before
::after
</i>
</span>
::before
和::after
的作用是什么?
如果我知道bootstrap如何将i
标签转换为图像,我想我可能会发生变异。
感谢。