select2 formatState 不适用于 bootstrap 4 主题
select2 formatState not work with bootstrap 4 theme
我使用 select2 bootstrap theme 添加 Bootstrap 4 主题到 select2 并且需要使用 formatState
方法将 <span></span>
添加到文本。
我的HTML代码是:
<div class="fieldset fieldset-1">
<label for="color">Choose color</label>
<select name="color" class="select2">
<option value="grn">Green</option>
<option value="blu">Blue</option>
<option value="brn">Brown</option>
<option value="blk">Black</option>
<option value="red">Red</option>
<option value="yel">Yellow</option>
<option value="wht">White</option>
</select>
</div>
和杰斯:
function formatState (state) {
if (!state.id) {
return state.text;
}
var baseUrl = "/user/pages/images/flags";
var $state = $(
'<span><img src="' + baseUrl + '/' + state.element.value.toLowerCase() + '.png" class="img-flag" /> ' + state.text + '</span>'
);
return $state;
};
$(".select2").select2({
templateResult: formatState
});
$('select').select2({
theme: 'bootstrap4',
});
在操作中选择 2 不显示 <span></span>
。我检查了我的 Js 代码并删除了这一行(bootstrap 4 主题):
$('select').select2({
theme: 'bootstrap4',
});
现在 select2 起作用了,我看到了 <span></span>
。我该如何解决这个问题?!
尝试在 JS 中跟随
function formatState (state) {
if (!state.id) {
return state.text;
}
var baseUrl = "/user/pages/images/flags";
var $state = $(
'<span><img src="' + baseUrl + '/' + state.element.value.toLowerCase() +
'.png" class="img-flag" /> ' + state.text + '</span>'
);
return $state;
};
$(".select2").select2({
theme: 'bootstrap4',
templateResult: formatState
});
我使用 select2 bootstrap theme 添加 Bootstrap 4 主题到 select2 并且需要使用 formatState
方法将 <span></span>
添加到文本。
我的HTML代码是:
<div class="fieldset fieldset-1">
<label for="color">Choose color</label>
<select name="color" class="select2">
<option value="grn">Green</option>
<option value="blu">Blue</option>
<option value="brn">Brown</option>
<option value="blk">Black</option>
<option value="red">Red</option>
<option value="yel">Yellow</option>
<option value="wht">White</option>
</select>
</div>
和杰斯:
function formatState (state) {
if (!state.id) {
return state.text;
}
var baseUrl = "/user/pages/images/flags";
var $state = $(
'<span><img src="' + baseUrl + '/' + state.element.value.toLowerCase() + '.png" class="img-flag" /> ' + state.text + '</span>'
);
return $state;
};
$(".select2").select2({
templateResult: formatState
});
$('select').select2({
theme: 'bootstrap4',
});
在操作中选择 2 不显示 <span></span>
。我检查了我的 Js 代码并删除了这一行(bootstrap 4 主题):
$('select').select2({
theme: 'bootstrap4',
});
现在 select2 起作用了,我看到了 <span></span>
。我该如何解决这个问题?!
尝试在 JS 中跟随
function formatState (state) {
if (!state.id) {
return state.text;
}
var baseUrl = "/user/pages/images/flags";
var $state = $(
'<span><img src="' + baseUrl + '/' + state.element.value.toLowerCase() +
'.png" class="img-flag" /> ' + state.text + '</span>'
);
return $state;
};
$(".select2").select2({
theme: 'bootstrap4',
templateResult: formatState
});