如何在 select 中设置默认值而不在列表中重复

How can I set default value in select without duplicate in list

我的网页中有 select 控件:

<select class="form-control" name="user">
    <#list sbUsers as sbUser>
        <option value="${sbUser.login}">${sbUser.login}</option>
    </#list>
</select>

但我需要像默认值一样设置当前用户。当前用户包含在此列表和其他变量中。我试过这个:

<select class="form-control" name="user">
    <option value="${userName}" selected >${userName}</option>
    <#list sbUsers as sbUser>
        <option value="${sbUser.login}">${sbUser.login}</option>
    </#list>
</select>

但是这个实现不起作用。当我打开我的网页时,我有当前用户喜欢默认值,但在列表值中这个用户也包含。

userCurrent(default)
  -user1
  -user2
  -user3
  -userCurrent
  -user4

但我需要

userCurrent(default)
      -user1
      -user2
      -user3
      -user4

通过 JS 实现

$('#mySelector').children('option[value="'Value'"]').hide();

如前所述,您可以使用 if

<select>
    <option value="${userName}" selected>${userName}</option>
    <#list sbUsers as sbUser>
        <#if userName != sbUser.login>
            <option value="${sbUser.login}">${sbUser.login}</option>
        </#if>
    </#list>
</select>

或者如果默认值不必在列表中排在第一位:

<select>
    <#list sbUsers as sbUser>
        <option value="${sbUser.login}" <#if userName==sbUser.login>selected</#if>>${sbUser.login}</option>
    </#list>
</select>
<select class="form-control" name="user">
                    <option value="">All</option>
                    <#list sbUsers as sbUser>
                        <#if sbUser.login == userName>
                            <option value="${sbUser.login}" selected>${sbUser.login}</option>
                        <#else>
                            <option value="${sbUser.login}">${sbUser.login}</option>
                        </#if>
                    </#list>
                </select>