django模板数组元素访问
你好:
day_records 是一个数组,我想访问它的元素。如果我把point替换成0或者1,那是没问题的,但当我用point的时候,就无法访问到元素,而且没有语法错误。
plant.bind("plothover",
function(event,pos,item){
if(item){
removeTooltip();
var point = item.dataIndex;
showTooltip(item.pageX,item.pageY,"{{day_records.point.date}}");
}else{
removeTooltip();
}
});
那么,我该怎么用point这个变量来访问数组的元素呢?
2 个回答
1
我在遇到这个问题时尝试了很多方法。我试过用点(.)来访问,但没有得到我想要的结果。我知道应该用点的方式,因为Django的文档是这么说的。
我有一个列表变量,长这样:food = [{'rice':90},{'beans':56},{'peas':144}]
最后,成功的方法是:food.0.rice
,这样我就得到了我想要的数字(米饭的数量),food.0.beans
则给了我豆子的数量。
我进一步尝试了这个:food = [[{'rice':90},{'beans':56}], [{'banana':90},{'groundnuts':56}]]
。我可以通过food.1.groundnuts
来访问花生的值,因为它是第二个数组元素。我希望有人能觉得这个有用。
1
你的模板代码和JavaScript是完全独立运行的。
当页面加载时,浏览器会根据你的模板生成的原始代码来运行JavaScript。
你可以通过模板语言生成一个JavaScript数组,这样你的脚本就可以使用它,或者使用AJAX从Django请求某个特定的数据。
day_records = new Array();
{% for point in day_records %}
day_records[{{ forloop.counter0 }}] = '{{ point.date }}';
{% endfor %}
plant.bind("plothover",
function(event,pos,item){
if(item){
removeTooltip();
var point = item.dataIndex;
showTooltip(item.pageX,item.pageY, day_records[point]);
}else{
removeTooltip();
}
});