/ / Django: Wybierz opcję w szablonie - html, drop-down-menu, django-templates

Django: Wybierz opcję w szablonie - html, drop-down-menu, django-templates

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 № 1

Bę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 %}