Search code examples
htmlfreemarker

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


I have select control in my web page:

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

But I need set current user like default value. Current user contains in this list and in other variable. I tried this:

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

But this realization not working. When I open my web page I have current user like default value but in list values this user contains too.

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

but I need

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

Solution

  • <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>