Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django: Select option in template

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?

like image 635
Nava Avatar asked Dec 05 '11 18:12

Nava


1 Answers

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 %} 
like image 140
Dan Breen Avatar answered Sep 19 '22 18:09

Dan Breen