Django模板,如何使一个下拉框与预先定义的值被选中? [英] Django template, how to make a dropdown box with the predefined value selected?

查看:160
本文介绍了Django模板,如何使一个下拉框与预先定义的值被选中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建一个下拉列表框,其中所选值等于从模板值传递的值,但没有成功。任何人都可以看看,告诉我我做错了什么。

I am trying to create a drop down list box with the selected value equal to a value passed from the template values, but with no success. Can anyone take a look and show me what I am doing wrong.

     <select name="movie">
       {% for movie in movies %}
    {% ifequal movie.id selected_movie.id %}
     <option value="{{movie.key}}" selected="true">Movie {{movie.id}}: {{movie.name}}</option>
     {% endifequal %}
     {% ifnotequal movie.id selected_movie.id %}
     <option value="{{movie.key}}">Movie {{movie.id}}: {{movie.name}}</option>
     {% endifnotequal %}
       {% endfor %}
     </select>

在此示例中,将从模板值传递电影和selected_movie。
请咨询!

In this example, movies and selected_movie are passed from the template values. Please advice!

推荐答案

您的代码适用于django 1.0.2和firefox 3.5。

Your code works for me with django 1.0.2 and firefox 3.5.

您可以使用{%else%}而不是{%ifnotequal%}并设置selected =selected。希望它有帮助。

You can use {% else %} instead of {% ifnotequal %} and set selected="selected". Hope it helps.

<select name="movie">
    {% for movie in movies %}
        {% ifequal movie.id selected_movie.id %}
            <option value="{{movie.key}}" selected="selected">Movie {{movie.id}}: {{movie.name}}</option>
        {% else %}
            <option value="{{movie.key}}">Movie {{movie.id}}: {{movie.name}}</option>
        {% endifequal %}
    {% endfor %}
</select>

这篇关于Django模板,如何使一个下拉框与预先定义的值被选中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆