1

为什么我的下拉菜单不下拉?我不熟悉使用样式表,并且想知道是否必须告诉它一些事情,因为在没有 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>
4

4 回答 4

1

它需要看起来像

<select>
<option value="2012">2012</option>
<option value="2013">2013</option>
<option value="2014">2014</option>
</select>

http://www.tizag.com/htmlT/htmlselect.php/

于 2012-06-28T21:06:20.107 回答
1
<select><option value="All the years!">[2012,2013,2014]</option></select>

这不是<select>标签的工作方式。你只有一个选项,所以没有什么可下拉的。

您需要将可选择的项目分解为它们自己的选项标签:

<select>
  <option>2012</option>
  <option>2013</option>
  <option>2014</option>
</select>
于 2012-06-28T21:06:38.157 回答
0

看起来你正在传递yearsmonths并且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 %}
于 2012-06-29T04:44:44.260 回答
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>
于 2012-06-28T21:09:00.187 回答