W moim szablonie Django używam listy obiektów w rozwijanym menu. Przetwarzam go na podstawie wyboru.
Szablon HTML:
<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>
Problem polega na tym, że gdy wybieram wartość z rozwijanego menu, otrzymuję zawartość, która należy do selekcji. Ponieważ atrybut selected = "selected" który tylko naprawia "---WYBIERZ---" element, chyba że umieściłem selected = "selected" w
<option value="{{org.id}}" selected="selected">{{org.name|capfirst}}</option>
W tej organizacji ostatni iterowany element jest tylko naprawiane z rozwijanym menu. Ale chcę, aby wybrany element był wyświetlany w rozwijanym menu.
Jak mogę rozwiązać ten problem?
Odpowiedzi:
33 dla odpowiedzi № 1Będziesz chciał przekazać aktualnie wybrany organ do widoku, być może jako current_org
tak aby podczas iteracji po organizacjach można było porównać z bieżącym, aby określić, czy go wybrać, jak:
{% for org in organisation %}
<option value="{{org.id}}"
{% if org == current_org %}selected="selected"{% endif %}>
{{org.name|capfirst}}
</option>
{% endfor %}