我在龙卷风模板表中生成了城市,我想尝试最后一栏详情按钮
{% if globals().has_key('results') %}
{% for result in results %}
<tr>
<td>{{result['name']}}</td>
<td>{{result['citizens']}}</td>
<td style="width:100px; height:100px;">
<div class="ui-grid-b">
<a class="ui-block-a ui-icon-detail" onclick="showDetails('{{id}}',{{result['city_id']}});" data-role="ui-li-aside" data-icon="right_arrow" data-theme="a"></a>
</div>
</td>
</tr>
{% end %}
{% end %}
然后单击以在url中使用参数加载另一个页面。
<script type="text/javascript">
function showDetails(id, city_id)
{
window.location = '/cities?id='+id+'&city_id='+city_id;
}
</script>
如何传递参数以显示详细信息功能? (我不能使用',我尝试用\“但它不起作用。)结果是带有键名,citizen,city_id的词典列表。 龙卷风模板使用{{}}来访问传递的参数。
答案 0 :(得分:0)
showDetails = function (id, city_id)
{
window.location = '/cities?id='+id+'&city_id='+city_id;
}
我认为这是一种简单的方法
答案 1 :(得分:0)
大括号内的变量将直接输出(或者是它的字符串表示),因此它取决于它的设置。
e.g。如果你有:
id = 'foo'
results = [{ 'city_id': 'bar' }]
并且您将它们传递给模板,然后是这一行:
showDetails('{{id}}',{{result['city_id']}});
将按如下方式输出(您可以使用查看源确认):
showDetails('foo',bar);
我猜你错过了{{result['city_id']}}
周围的引号,除非result['city_id']
是一个整数,在这种情况下它应该有效。单引号或双引号在JavaScript中都很好。
但是,正如@Pete已经指出的那样,“点击加载另一个带有url参数的页面”就是我们拥有href
属性的内容。您可以通过以下方式为自己节省大量工作和潜在的破坏:
<a href="/cities?id={{ id }}&city_id={{ result['city_id'] }}" ....></a>