Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django模板中的java脚本:使用javascript函数显示错误_Javascript_Django - Fatal编程技术网

django模板中的java脚本:使用javascript函数显示错误

django模板中的java脚本:使用javascript函数显示错误,javascript,django,Javascript,Django,更新: 因此,现在我将代码更改为: <script> function myFunction(calid) { document.getElementById(calid).innerHTML = "<ul><li>" + calid + "</li>" + "</ul>"; } </script> {% for calibration

更新:

因此,现在我将代码更改为:

<script>
        function myFunction(calid) {
            document.getElementById(calid).innerHTML = "<ul><li>" + calid + "</li>" + "</ul>";
        }
        </script>

        {% for calibrations in equipment.calibration_set.all %}


        <ul>
            <li>
                <p  onclick="myFunction( {{calibrations.id}} ) ">   {{calibrations.cal_date}}    </p>
                <div id = {{calibrations.id}}> YES </div>


            </li>
        </ul>

        {% endfor %}

函数myFunction(calid){
document.getElementById(calid).innerHTML=“
  • ”+calid+”
  • “+”
”; } {%用于设备中的校准。校准\u set.all%}
  • {{{calibrations.cal\u date}

{%endfor%}
而且效果很好。谢谢

但还有一个更奇怪的问题:当我试图向函数添加更多参数以便它可以显示更多信息时,它只是停止工作,这真的很奇怪,因为我唯一更改的是添加新参数。因此,如果我尝试以下方法:

<script>
        function myFunction(calid, calby) {
            document.getElementById(calid).innerHTML = "<ul><li>" + calid + "</li>" + "<li>" + calby + "</li>" + "</ul>";
        }
        </script>

        {% for calibrations in equipment.calibration_set.all %}


        <ul>
            <li>
                <p  onclick="myFunction( {{calibrations.id}}, {{calibrations.cal_by}} ) ">   {{calibrations.cal_date}}    </p>
                <div id = {{calibrations.id}}> YES </div>


            </li>
        </ul>

        {% endfor %}

函数myFunction(calid、calby){
document.getElementById(calid).innerHTML=“
  • ”+calid+”
  • “+”
  • “+calby+”
  • “+”
”; } {%用于设备中的校准。校准\u set.all%}
  • {{{calibrations.calu date}

{%endfor%}
然后,当我单击日期时,什么也没有发生

  • 这怎么会错呢
  • 也许我应该使用JSON将模型数据传递到javascript中
  • 旧职位: 我将首先在此处转储代码:

    {% for calibrations in equipment.calibration_set.all %}
            <script>
            function myFunction(cal_id) {
                document.getElementById(cal_id).innerHTML = "<ul><li>{{calibrations.id}}</li></ul>";
            }
            </script>
            <ul>
                <li>
                    <p  onclick="myFunction( {{calibrations.id}} )">{{calibrations.cal_date}}</p>
                    <div id = {{calibrations.id}}> YES </div>
    
    
                </li>
            </ul>
    
    {%用于设备中的校准。校准\u set.all%}
    函数myFunction(cal_id){
    document.getElementById(calu id).innerHTML=“
    • {{{calibrations.id}}
      • ”; }
        • {{{calibrations.cal\u date}

    因此,校准是设备的外键。在这里我想 显示与设备关联的校准列表,并使用 校准日期作为javascript onclick事件,以便用户可以 单击以显示此校准的详细信息。这个 我的问题是,现在即使有多次校准, 单击校准日期将其下的“是”更改为id 最新校准结果

    [![在此处输入图像描述][1][1]

    如图所示,我单击了第一次和第二次校准日期 并期望下面的文本分别为1和2

    有人能指出这里出了什么问题吗

    [1] :


    您正在每个循环中创建具有相同名称的javascript函数。这就是为什么所有单击都返回相同的结果

    简单的解决办法是:

    function myFunction(cal_id) {
        document.getElementById(cal_id).innerHTML = "<ul><li>" + cal_id + "</li></ul>";
    }
    
    函数myFunction(校准id){
    document.getElementById(cal_id).innerHTML=“
    • ”+cal_id+”
    ”; }

    但一般来说,在每个循环中创建新函数(尤其是同名函数)是不对的

    非常感谢!顺便说一句,如果你正好有时间看一看,还有一个相关的新问题刚刚出现