选择Django中元素的默认值< select>

k4emjkb1  于 2023-08-08  发布在  Go
关注(0)|答案(4)|浏览(178)

我有一个下拉菜单,它是以以下方式创建的:

<select id="ip_addr">
    {% for host in hosts %}
        <option value="{{ host.ipaddress }}">{{ host.ipaddress }}</option>
    {% endfor %}
</select>

字符串
我不知道如何设置默认值。通常我会说

<option value="0.0.0.0" selected>0.0.0.0</option>


但因为我用循环填充这个下拉菜单,我不知道如何确保我想要的选项被选中。我相信有一个非常直接的方法来做到这一点,但我仍然是HTML/JavaScript/Django的新手。

u1ehiz5o

u1ehiz5o1#

你有两个选择,使用Django模板内置的功能:
1.如果要将第一个主机设置为默认选择选项
1.如果要将特定主机设置为默认选择选项
以下是两种可能的解决方案:

<select id="ip_addr">
    {% for host in hosts %}
        <option value="{{ host.ipaddress }}" {% if forloop.first %}selected{% endif %}>{{ host.ipaddress }}</option>
    {% endfor %}
</select>
<select id="ip_addr">
    {% for host in hosts %}
        <option value="{{ host.ipaddress }}" {% if host.ipaddress == '0.0.0.0' %}selected{% endif %}>{{ host.ipaddress }}</option>
    {% endfor %}
</select>

字符串
注意:foorloop.first是一个特殊的模板循环变量,在循环的第一次迭代中为True。

lsmepo6l

lsmepo6l2#

这里是一个例子来决定选择的索引的选择。

var obj = document.getElementById("sel");
for(i=0; i<obj.options.length; i++){
    if(obj.options[i].value == "b"){
        obj.selectedIndex = i;
    }
}

个字符

ruoxqz4g

ruoxqz4g3#

经过多次测试,希望能有所帮助:

<select>
 {% for priority in priorities %}
  {% if actual_priority == priority %}
   <option select>{{priority}}</option>
  {% else %}
   <option>{{priority}}</option>
  {% endif %}
 {% endfor %}
</select>

字符串
从您的视图中发送“actual_priority”和“priorities”将是必要的

fruv7luv

fruv7luv4#

上面提到的方法对我都不起作用。但作为变通,我把默认选项作为第一个元素,放在for循环之外

<select name="Customer" id="Customer">
<option value="{{ defaultValue }}" selected >
{{ defaultValue }}
</option>
{% for val in customerlist %}
<option value="{{val}}">{{val}}</option>
{% endfor %}
</select>

字符串

相关问题