【发布时间】:2013-04-24 00:46:09
【问题描述】:
我正在尝试呈现一个显示评论数量(1 条评论或 xxx 条评论)的模板。我正在通过 jinja2 迭代 GAE 中的实体实例对象,但它只在第一个循环中执行脚本,之后的每个循环。我的代码有什么问题?
<table>
{% for each in courses_taught %}
<tr>
<td id="num_reviews">
<script type='text/javascript'>
var html_output = "";
var review_count ={{each.num_reviews}};
if (review_count ==1) {
html_output += "<a href='../course/{{each.key()}}'>1 review</a>";
}
else if (review_count > 1) {
html_output += "<a href='../detail/course/{{each.key()}}'>" + num_reviews + " reviews</a>";
}
else {
html_output +="<a id='trailblazer' href='../../../review/writeReview/{{each.key()}}'>Be the trailblazer</a>";
}
var reviewCount = document.getElementById("num_reviews");
reviewCount.innerHTML = html_output;
</script>
</td>
</tr>
{% endfor %}
【问题讨论】:
-
为什么不使用 jinja 本身而不使用任何 javascript?不需要。
-
无论如何,您必须为您的
td提供每一行的唯一ID,例如:<td id="num_reviews-{{each.unique_id}}">。在你的 javascript 中:var reviewCount = document.getElementById("num_reviews-{{each.unique_id}}");.
标签: javascript google-app-engine jinja2