Я динамически заменяю содержимое своего div новым содержимым. Мой новый контент - это запись, полученная из базы данных, которая хранится в виде списка в переменных данных. Каждый раз, когда нажимается кнопка отправки, содержимое должно заменяться следующим элементом из списка. Я объявил глобальную переменную I для извлечения соответствующего элемента из data [], и я пытаюсь увеличить свой i. Но каждый раз i инициализируется исходным значением. Пожалуйста помоги. Я прикрепил сюда свой код.
<html>
<head>
{% set i=0%}
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type = "text/javascript">
function ReplaceContentInContainer(id, content) {
var container = document.getElementById(id);
container.innerHTML = "";
container.innerHTML = document.getElementById('blockOfStuff').innerHTML;
}
</script>
<script id = "blockOfStuff" type = "text/html">
<div id = "d1">
{% set i=i+1%} {% for item in data[i]%}
<tr>
{{item}}
</tr>
<br> {% endfor %}
<input type = "submit" onclick = "javascript:ReplaceContentInContainer('d1','')">
</div>
</script>
</head>
<body>
<div id = "d1">
{% for item in data %}
<tr>
{% for val in item %}
<td>{{val}}</td>
<br> {% endfor %}
</tr>
<br>
<input type = "submit" onclick = "javascript:ReplaceContentInContainer('d1','')"> {% break %} {% endfor %}
</div>
</body>
</html>
Мой blockofStuff - это просто html для добавления нового элемента из моих данных []. Так что в основном, когда мой i равен 1, моим элементом будет data [1], и он заменит данные [0]. Затем в следующий раз, когда будет нажата кнопка отправки, данные [1] исчезнет (когда управление перейдет к функции ReplaceContentInContainer (id, content)) и будет заменено данными [2], и этот процесс будет продолжаться до i == len (data).
рендеринг вашего шаблона с помощью jinja2 происходит на стороне клиента?
Да, это происходит на стороне клиента. Я возвращаю приведенный выше код (survey.html) из моего файла app.py. Кажется, что область действия переменной заканчивается после завершения цикла в jinja, потому что мое 'i' увеличивается, когда он входит в цикл for впервые. После этого, когда цикл завершается, i снова инициализируется исходным значением, даже если оно объявлено глобально.
Можно ли создать из него скрипку?
Где код для отправки
blockOfStuff
на сервер для его рендеринга?