for循环中的if.-value:添加所选内容

时间:2019-03-03 03:56:40

标签: html django for-loop if-statement

想要在我的Django项目中的此选择字段中添加“已选择”属性:

<form id="formselect" method="post">
  {% csrf_token %}
    <select name="position_select" id="position_select">
    <option value="0">all positions</option>
    {% for position in position_options %}
    <option value="{{ position.id }}"
    {% if form.position.value == position.id.0 %} selected{% endif %}>
    Position: {{ position.position_order }}
  </option>
  {% endfor %}
</select>

此if方法的结果是现在每个选项在该HTML的输出中都标记为已选中。有没有更好的方法可以在for循环中处理该if语句?

我每次通过以下方式提交此表单:

$("#position_select").on("change", function() {
    document.getElementById("formselect").submit();
  });

1 个答案:

答案 0 :(得分:0)

您可以尝试以下操作:

{% for position in position_options %}
{% if form.position.value == position.id.0 %}
    <option value="{{ position.id }}" selected>
{% else %}
    <option value="{{ position.id }}" selected>
{% endif %}

或者:

<option value="{{ position.id }}" {{ form.position.value == position.id.0 ? "selected" : "" }}>