首页 > 解决方案 > 如何在for循环中更改django模板中的变量?

问题描述

{% extends 'base_dashboard.html' %}

{% block body %}

<input type="text" id="vari" value="{{vari}}">
{% for variable in ques_ans %} 
  {% if forloop.counter == vari %}
  {{ forloop.counter }} : {{ variable.question.question }} <br><br>
<input type="radio" id="opt1" name="ans" value="option1" onclick="displayRadioValue()">
<label for="opt1">5</label><br>
<input type="radio" id="opt2" name="ans" value="option2" onclick="displayRadioValue()">
<label for="opt2">3</label><br>
{% endif %}
{% endfor %}
<p id="output"></p>

<script>
let a={{vari}}      
function displayRadioValue() {
    let output = document.getElementById("output");
    let inp = document.getElementById("vari");
            output.innerHTML = "";
            var ele = document.getElementsByName('ans');
            for(i = 0; i < ele.length; i++) {                   
                if(ele[i].type="radio" ) {                 
                    if( ele[i].checked){
                      if(ele[i].value=='option1')
                        { 
                        output.innerHTML
                                += ele[i].name + " Value: "
                                + ele[i].value + "<br>";  
                                a +=1;
                          output.innerHTML
                                +=  a +" a Value: "
                                 + "<br>" ; 
                          inp.setAttribute("value", a);
                          }
                      else{
                        output.innerHTML += " Wrong answer";
                        }
                    }
                }
            }
} 

</script>
{% endblock body %}

我从views.py 传递了'vari=1' 值。当我单击选项按钮时,变量 'vari' 值增加了 1,但在 for 循环中没有更新。我想在 if 条件下增加“vari”值并在单击选项按钮后一一显示问题,而不是一次显示所有问题。

标签: javascripthtmldjango-templates

解决方案


推荐阅读