Как заставить работать javascript в шаблоне в django
Я пытаюсь использовать js для сохранения значений в выбранных опциях. Это работает, если js поместить в мой HTML шаблон. Например, так:
Но если я помещу скрипт в отдельный файл:
{% load static %}
{% include "header.html" %}
{% block content %}
<script src="{% static 'ReportingTool/js/sort_text.js' %}"></script>
<script src="{% static 'ReportingTool/js/sort_number.js' %}"></script>
<script src="{% static 'ReportingTool/js/select.js' %}"></script>
select.js:
let selItems = JSON.parse(sessionStorage.getItem("SelItem")) || [];
$(function() {
if (selItems) {
selItems.forEach(obj => {
const [k, v] = Object.entries(obj)[0]
$("#" + k).val(v)
})
}
$('.myselect').on("change", function() {
selItems = $('.myselect').map(function() {
return { [this.id]: this.value }
}).get();
sessionStorage.setItem("SelItem", JSON.stringify(selItems))
});
});
не работает. Он не понимает на какое событие реагирует? Я пробовал добавлять название функции и вызывать клик по событию. Ничего не помогает Что я делаю не так?
измените это:
<script src="{% static 'ReportingTool/js/select.js' %}"></script>
To
<script src="{% static '/ReportingTool/js/select.js' %}"></script> #You forgot to add forward slash(/) before ReportingTool.
Попробуйте и посмотрите, работает ли это