TM.*_*TM. 5 javascript django jquery django-templates flot
我试图在Django模板中分配一些javascript变量.
我遇到的问题是我正在分配的值正在正确地写入页面(我可以在页面源中看到它们),但仍然会出现null.
我这样做:
<script type="text/javascript">
var coords = [];
{% for i in item_list %}
coords.push([ {{i.x}}, {{i.y}} ]);
{% endfor %}
</script>
Run Code Online (Sandbox Code Playgroud)
这是生成的页面源:
coords.push([ -320.435118373, -149.333637576 ]);
coords.push([ -120.41321373 , -329.312376 ]);
...
Run Code Online (Sandbox Code Playgroud)
它似乎是完全有效的javascript,但是,使用Firebug查看其值coords,这就是生成的:
[[null, null], [null, null], [null, null]...[null, null]]
Run Code Online (Sandbox Code Playgroud)
因此很明显,每个push()调用都正确进行,每次都会添加一个大小为2的新数组.但是,由于某种原因,数字文字都评估为null.
有谁知道如何才能正确使用这些值?
更新:似乎数组中的值都没有问题,直到我将它们传递给jQuery flot插件:
$.plot($('#mapWrapper'), coords, options);
Run Code Online (Sandbox Code Playgroud)
所以我想这与我使用Django模板的方式没有任何关系.不过,我很好奇问题是什么$.plot.
看来我错过了一件小事。我使用的是一个数据系列,它是一个数组数组。实际上,jquery flot 插件需要一个系列数组,即数组的数组,所以我需要一个三重嵌套数组。
从此改变:
$.plot($('#mapWrapper'), coords, options);
Run Code Online (Sandbox Code Playgroud)
对此:
$.plot($('#mapWrapper'), [coords], options);
Run Code Online (Sandbox Code Playgroud)
解决了问题。
感谢所有看过这篇文章的人。
| 归档时间: |
|
| 查看次数: |
3661 次 |
| 最近记录: |