本文介绍了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模板,如何使一个下拉框与预先定义的值被选中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!