2016-12-28 9 views
0

に重複せずに選択してデフォルト値を設定することができ、私は自分のWebページで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> 

しかし、この実現は機能しません。私は私のWebページを開くとき、私は既定値のような現在のユーザーを持っていますが、このユーザーにもリスト値があります。

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

が、私は

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

どちらかだけ 'selected'オプションを設定し、簡単な' if'を書き、特定の項目のアクティブなクラスを設定したり、ループ – Raimonds

+0

のためのデフォルトの項目を除外する場合は、インラインを使用します。 –

答えて

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

が必要で述べたように、あなたは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> 

またはデフォルトを持っていない場合に使用することができますJS

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

単純な 'if'の代わりにJS? –

0

を介してこれを行いますリストの最初になる:

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