这是我的 HTML 代码:
<script src="https://maps.googleapis.com/maps/api/js?key=mykey&callback=initMap&v=quarterly" defer></script>
<script src="{% static '/javascript/maplanguage.js' %}"></script>
<form action="{% url 'set_language' %}" method="post">{% csrf_token %}
<input name="next" type="hidden" value="{{ redirect_to }}" />
<select id="sel_id" name="language" onchange="this.form.submit();">
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as LANGUAGES %}
{% get_language_info_list for LANGUAGES as languages %}
{% for language in languages %}
<option class="option" value="{{ language.code }}"{% if language.code == LANGUAGE_CODE %} selected="selected"{% endif %} >
{{ language.name_local }} ({{ language.code }})
</option>
{% endfor %}
</select>
</form>
这是为了使 Django 国际化(改变我的网页的语言)。
现在我想同时更改我的 Google 地图 API 的语言。
我试过这个。我的代码:
#maplanguage.js
document.getElementById('sel_id').addEventListener('change', () => {
let lang = $(this).find('option:selected').val();
// console.log(lang);
// alert("You have selected the language code: " + lang);
但问题是:当我从下拉列表中选择一个选项时,页面将立即刷新。然后我无法在 JS 中获取“lang”的值。[这意味着“警报”可以在刷新页面之前起作用,但是“console.log”没有任何内容。
那么我怎么能让我的页面等待我的 JS 呢?
翻翻过去那场雪
相关分类