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

346 Views Asked by At

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
3

There are 3 best solutions below

0
On BEST ANSWER
<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>
1
On

Do this through JS

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

As mentioned, you can use an 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>

Or if the default does not have to be first in the list:

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