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%}
然后,当我单击日期时,什么也没有发生
{% 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+”
”;
}
但一般来说,在每个循环中创建新函数(尤其是同名函数)是不对的 非常感谢!顺便说一句,如果你正好有时间看一看,还有一个相关的新问题刚刚出现