我想实现下面使用javascript这样行点击它将得到索引和显示对象的这个索引。
在django模板中这是有效的。
<div>{{ project.0.customer_name}}</div>
<div>{{ project.1.customer_name}}</div>
但下面的javascript不工作,即使我得到正确的ID。
var cell = row.getElementsByTagName("td")[0];
var id= parseInt(cell.innerHTML);
// not working
document.getElementById('lblname').innerHTML = '{{ project.id.customer_name}}';
// this is also working but what I want is dynamic base on row click
document.getElementById('lblname').innerHTML = '{{ project.1.customer_name}}';
在javascript中使用索引显示django对象。
1条答案
按热度按时间a5g8bdjr1#
您必须了解您的代码发生了什么:
在服务器上处理如下模板:
我相信您的服务器端没有
project.id
,所以您在上面的行中得到None
,并且moustache标记变成smth,就像一个空字符串,实际的JavaScript代码如下所示:现在才执行JS代码,您可以想象它会做什么。
您需要的是在JS中设置了
id
变量后处理moustache标签,这不是stuff的工作方式(至少,如果您没有一些疯狂的工具链的话)。实现所需目的的一种方法是通过执行以下操作将整个
project
对象(或数组)提供给JavaScript:一个完整的Django模板应该是这样的(我用
<span>
代替了表格单元格:另一种方式是AJAX方式:在服务器端创建一个API端点,这样example.com/api/customer_name/?id=999当您单击某个元素并触发一个paramid =999的XMLHttpRequest时,像www.example.com这样的URL就会以customer id = 999的名称响应您。