作为JS的字符串传递,django不起作用

Pass as string for JS with django not working

本文关键字:django 不起作用 JS 字符串 作为      更新时间:2023-09-26

到目前为止,我所拥有的表格在渲染时,正确地显示了作业编号,这些编号分别格式化为:"15-215"或"15-552"

我想传递表上的每个作业编号,这样当我单击每个TD时,它就会将作业编号传递到我的javascript中。我花了一段时间才诊断出我需要作为字符串传递,否则它将评估15-215,然后传递。

我的html文档如下:

    {% for a in obj %}
    ...
 <tr data-toggle="collapse" data-target="#demo{{forloop.counter}}" class="accordion-toggle">
        <td onclick="test(''' + {{a.jobnum}} + ''')">{{a.jobnum}}</td>
    ...
    {% endfor %}

我的js就像:

function test(y) {
  alert(y);
  document.getElementById("123").innerHTML = y;
  }

然后我有:

<p id="123">1</p>

但当我点击相关的td时,我既没有收到警报,也没有收到更新的<p>

我会做一些不同的事情:

模板

{% for a in obj %}
    ...
<tr data-toggle="collapse" data-target="#demo{{forloop.counter}}" class="accordion-toggle">
   <td data-jobnum='{{ a.jobnum }}' class="test">{{a.jobnum}}</td>
    ...
{% endfor %}

js(jquery)

$('.test').click(function(){
    var value = $(this).data('jobnum');
    alert(value);
})

现在,您可以使用value执行任何javascript。

注意

我使用了Jquery,但您也可以使用js来实现这一点。