Javascript 无法显示使用templateResult select2选择的选项
我将此代码用于国家/地区选择,但当我刷新页面时,所选选项返回dafault值。您可以像这样使用本地存储Javascript 无法显示使用templateResult select2选择的选项,javascript,jquery,css,drop-down-menu,Javascript,Jquery,Css,Drop Down Menu,我将此代码用于国家/地区选择,但当我刷新页面时,所选选项返回dafault值。您可以像这样使用本地存储 function formatCountry(country) { if (!country.id) { return country.text; } var $country = $( '<span class="flag-icon flag-icon-' + country.id.toLowerCase() + ' flag-
function formatCountry(country) {
if (!country.id) {
return country.text;
}
var $country = $(
'<span class="flag-icon flag-icon-' + country.id.toLowerCase() + ' flag-icon-squared"></span>' +
'<span class="flag-text">' + country.text + "</span>"
);
return $country;
};
$("[name='country']").select2({
templateResult: formatCountry,
data: isoCountries
});
运行fiddle multi pal time,您可以看到结果。将您选择的值设置为本地存储,当页面刷新时,从本地存储获取值并设置为下拉。我已尝试按照您的方式操作,但它仍然在选项中返回默认值。这是我的html:你需要在document.ready.Or上设置你的值,或者把你的工作弄得一团糟,我会检查的。我按照下面的代码,插入js:$function{if localStorage.getItem'language'{$language option.eqlocalStorage.getItem'language.prop'selected',true;}$language.on'change',function{localStorage.setItem'language',$'option:selected',this.index;};};};但它仍然返回默认值,但作为您的代码,国家的图标标志将消失。我尝试了,但它仍然不起作用。如果它解决了您的问题,请接受并向上投票ans。快乐编码:
$("[name='country']").select2({
placeholder: "Select a country",
templateResult: formatCountry,
data: isoCountries
});
var OldValue = localStorage.getItem("Key");
if (OldValue !== "" && OldValue !== null) {
$('select').select2({
placeholder: "Select a country",
templateResult: formatCountry,
data: isoCountries
}).select2('val', OldValue);
}
$("[name='country']").on("change", function() {
var selected = $(this).val();
localStorage.setItem("Key", selected);
});