Django: Select option in template

谁都会走 提交于 2019-12-18 11:47:41

问题


In my Django template, I am using the list of objects in a drop down menu. I am processing it based on the selection.

The HTML Template:

<select id="org" name="org_list" onChange="redirectUrl()">
  <option  value="" selected="selected">---SELECT---</option>
  {% for org in organisation %}
   <option value="{{org.id}}">{{org.name|capfirst}}</option>
  {% endfor %}
</select>

The problem is that when I am selecting the value from the drop down menu, I am getting the contents which belong to the selection. Since the attribute selected="selected" which only fixes to the "---SELECT---" element, unless I put the selected="selected" in

<option value="{{org.id}}" selected="selected">{{org.name|capfirst}}</option>

In these organisation, the last iterated element is only being fixed with drop down. But I want the selected element to be displayed in the drop down menu.

How can I solve this issue?


回答1:


You'll want to pass the currently selected org into the view, maybe as current_org so that when you're iterating through the orgs you can compare with the current one to determine whether or not to select it, like:

{% for org in organisation %}
   <option value="{{org.id}}"
       {% if org == current_org %}selected="selected"{% endif %}>
       {{org.name|capfirst}}
   </option>
{% endfor %}


来源:https://stackoverflow.com/questions/8389880/django-select-option-in-template

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!