所以我在谷歌应用引擎模板中有这个代码:
<select name='voter'>
{% for voter in allowed_voters %}
<option {% ifequal voter last_voter %}selected="yes" {% endifequal %}
value='{{voter}}'>{{voter}}</option>
{% endfor %}
</select>
页面不会在选择了正确的人的情况下呈现,而是默认为第一个选项。查看源代码向我显示生成的html已将所选属性放在正确的位置,因此我无法弄清楚为什么这不起作用。
答案 0 :(得分:4)
option
's select
attribute是一个布尔属性。
请尝试以下方法之一:
<option {% ifequal voter last_voter %}selected="selected" {% endifequal %}
value='{{voter}}'>{{voter}}</option>
<option {% ifequal voter last_voter %}selected {% endifequal %}
value='{{voter}}'>{{voter}}</option>
答案 1 :(得分:1)
布尔属性的语法在HTML和XHTML中是不同的。显然你输出的是HTML,需要使用
<option ... selected ...>
在XHTML中,您将使用
<option ... selected="selected" ...>
令人遗憾的是,我们将整个HTML / XHTML和MIME类型与可怕的非标准兼容的浏览器混为一谈。你只需知道这些东西就可以确保你在大多数浏览器上都能正确显示正确呈现的页面。
答案 2 :(得分:0)
尝试使用令牌“已选择”而不是选择=“是”