Javascript + Django,简单的计算不起作用

时间:2017-08-24 12:59:03

标签: javascript python django forms jinja2

我需要在变量列表中对100多个项目进行两个数字之间的简单划分,

在循环内部,HTML看起来像:

<input id="box1{{ item.0 }}" type="text" onkeyup="calculate()" />
<input id="box2{{ item.0 }}" type="text" onkeyup="calculate()" value="{{ item.7 }}"/>
<input id="result{{ item.0 }}" />

我的剧本

function calculate(){
    console.log(1);
    var myBox1 = document.getElementById('box1{{ item.0 }}').value;
    var myBox2 = document.getElementById('box2{{ item.0 }}').defaultValue;
    var result = document.getElementById('result{{ item.0 }}');
    var myResult = myBox1 / myBox2;
    result.value = myResult;}

出于某种原因,我无法在循环中使用它,脚本在我的列表中的每个项目的循环内部,也许是因为JS无法捕获jinja变量{{item }?

1 个答案:

答案 0 :(得分:-1)

所以...它现在有效,我知道这不是最好的解决方案,但现在是:

        <input id="box1{{ item.0 }}" type="text" onkeyup="calculate{{item.0}}()" />
        <input id="box2{{ item.0 }}" type="text" onkeyup="calculate{{item.0}}()" value="{{ item.7 }}"/>
        <input id="result{{ item.0 }}" />

        <script>
        function calculate{{coin.0}}(){
        console.log("{{ item.0 }}");
        var myBox1 = document.getElementById('box1{{ item.0 }}').value;
        var myBox2 = document.getElementById('box2{{ item.0 }}').defaultValue;
        var result = document.getElementById('result{{ item.0 }}');
        var myResult = myBox1 / myBox2;
        result.value = myResult;}
        </script>

我将功能 计算()更改为功能计算{{item.0}}()