1 回答

TA贡献2065条经验 获得超14个赞
在您的 HTML 中,每次更改选择时都会提交您的表单。表单的提交意味着整个页面都会刷新,所以即使你改变了google map语言,页面刷新后它也会丢失。(除非您先将其存储在某个地方)。
有几种方法可以解决这个问题:
您应该让页面刷新并通过 Django 在 head 脚本中设置全局值,并使用它来设置 Google 地图的语言。
IE
<script>
var lang = {% currentLang %}
</script>
将 lang 设置为本地存储(或 cookie)后提交表单。然后当页面刷新时,lang从本地存储中获取并将其传递给谷歌地图。注意下面是一些伪代码,需要验证表单是否仍在该函数中提交。
IE
<script>
function onSelectChange() {
var elem = document.getElementById('sel_id');
var langValue = elem.options[elem.selectedIndex].value;
localStorage.setItem('lang', langValue);
this.form.submit();
}
</script>
<select onchange="onSelectChange">...
使用键从本地存储中获取值
<script>
var lang = localStorage.getItem('lang');
</script>
添加回答
举报