为什么我的下拉菜单没有下降? 我不熟悉使用样式表,并想知道我是否必须告诉它,因为在没有css的早期appengine工作中,菜单按预期下降。
问题可能是jinja2语法与此模板所基于的django语法不同吗?我找不到任何针对这种情况的jinja2文档。
#inputdata {margin:0 20%}
#inputdata {background:#bfe2f9}
<div id="inputdata">
<label>Year:</label>
<select name="year">
{% for year in years %}
<option
{% ifequal year yearset %}
selected="selected"
{% endifequal %}
value={{year}}>{{year}}</option>
{% endfor %}
</select>
<label>Month:</label>
<select name="month">
{% for month in months %}
<option
{% ifequal month monthset %}
selected="selected"
{% endifequal %}
value={{month}}>{{month}}</option>
{% endfor %}
</select>
<label>Day:</label>
<select name="day">
{% for day in days %}
<option
{% ifequal day dayset %}
selected="selected"
{% endifequal %}
value={{day}}>{{day}}</option>
{% endfor %}
</select>
</div>
答案 0 :(得分:1)
它需要看起来像
<select>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
</select>
答案 1 :(得分:1)
<select><option value="All the years!">[2012,2013,2014]</option></select>
这不是<select>
代码的工作方式。您只有一个选项,因此没有任何内容可供下载。
您需要将可选项目分解为自己的选项标记:
<select>
<option>2012</option>
<option>2013</option>
<option>2014</option>
</select>
答案 2 :(得分:0)
看起来您的语法类似于:
<select>
<option>[2012, 2013, 2014]</option>
</select>
什么时候看起来像:
<select>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
</select>
答案 3 :(得分:0)
您似乎正在将years
,months
和days
作为太深嵌套的列表传递。如果len(years) == 1
那么你会想要改变你传给Jinja的内容:
years = [[2012, 2013, 2014]]
到此:
years = [2012, 2013, 2014]
(并对months
和days
执行相同操作。
此外,Jinja2没有ifequals
标记 - 您只需使用if
块:
{% for year in years %}
<option {% if year == yearmark %}selected="selected"{% endif %} value="{{year}}">
{{ year }}</option>
{% endfor %}