2017-01-20 4 views
0

У меня есть падение вниз, как следующий,Как выбрать опцию по умолчанию с помощью thymeleaf

<select id="role" class="form-control" th:field="*{role}" > 


    <option th:field="*{role}" value="USER">USER</option> 
    <option selected th:field="*{role}" value="ADMIN" >ADMIN</option> 
    <option th:field="*{role}" value="SUPERUSER">SUPERUSER</option> 


</select> 

Я хочу вариант по умолчанию в качестве администратора. Для этого я добавил выбранный внутри тега опции. но параметр по умолчанию все еще указывает на ПОЛЬЗОВАТЕЛЬ. Может ли кто-нибудь помочь мне решить эту проблему. Спасибо

+0

Добавление только атрибута 'selected' без значения недействителен. Синтаксис Thymeleaf, попробуйте использовать' selected = "selected" '. – Edd

+0

Я уже пробовал. не помогая. – sparrow

ответ

1

Задайте значение «role» в «ADMIN» в вашем контроллере (в java) до того, как будет отображаться страница.

Кроме того, вам не нужны все эти дополнительные атрибуты поля: field. th: поле должно появляться только на выбранном.

<select id="role" class="form-control" th:field="*{role}" > 
    <option value="USER">USER</option> 
    <option value="ADMIN" >ADMIN</option> 
    <option value="SUPERUSER">SUPERUSER</option> 
</select> 
0

Я сделал что-то вроде следующего, чтобы заставить его работать.

<script th:inline="javascript"> 
      /*<![CDATA[*/ 
     window.addEventListener("DOMContentLoaded", function() { 
      var optionSelected = [[${product.role}]]; 
      if(optionSelected == null){ 
       $("#role").val("ADMIN"); 
      } 

     }); 
     /*]]>*/ 
    </script> 

и удаленный выбранный атрибут из опции.

+1

Честно говоря, это довольно уродливое решение. 'selected' должен работать. Убедитесь, что атрибут 'selected' все еще присутствует на отображаемой странице HTML. – g00glen00b

+0

Я не вижу выбранный атрибут, если я использую выбранный внутри тега опции. Было бы лучше, если бы вы объяснили, почему это плохое решение. – sparrow

+0

@sparrow правильное решение - ответ Metroids – cralfaro

Смежные вопросы