Thymeleaf не выбирает отключенную опцию

Я использую Materializecss выберите форму http://materializecss.com/forms.html#select, и для правильного поведения требуется, чтобы первый параметр был отключен и выбран. Thymeleaf игнорирует отключенный параметр, несмотря на то, что он выбран. Вместо этого он выбирает первый неотключенный вариант.

<div class="input-field col s6">
    <select th:field="*{locale}" th:errorclass="invalid">
        <option value="" selected="selected" disabled="disabled">Choose your option</option>
        <option value="cs">Czech</option>
        <option value="en">English</option>
    </select>
    <label>Locale</label>
</div>

Чешский язык выбирается автоматически, но я хочу, чтобы вместо него был выбран вариант Выберите свой.


person Black    schedule 26.02.2016    source источник
comment
Попробуйте вместо этого использовать th:selected и th:disabled. И если вы попытаетесь, замените th:field атрибутом name в соответствии с это   -  person Enigo    schedule 26.02.2016


Ответы (2)


Основываясь на комментарии Enigo, я заставил его работать, заменив th:field в элементе select на name и id. Я также добавил th:disabled и th:selected к первой опции, чтобы она была отключена и выбрана по умолчанию.

<select name="locale" id="locale" th:errorclass="invalid" required="required">
    <option value="" th:disabled="disabled" th:selected="selected">
        Choose your option
    </option>
    <option value="cs">Czech</option>
    <option value="en">English</option>
</select>
person Black    schedule 29.02.2016

th: field и th: selected не работают одновременно. Для этого удалите поле th: и вручную замените их атрибутами id и name.

Посетите форум thymeleaf-forum

У меня точно такая же проблема.

Я делюсь своим кодом.

<div class="row">
<div class="input-field col s12">
    <select id="doc" name="doc" th:with="doc=*{doc}">
                    <option value="" th:disabled="disabled" selected="true"
                       th:text="${status==true}? 'Seleccione tipo de documento' : ${doc}">Seleccione
                       tipo de documento</option>
                    <option th:each="tipoDoc : ${tipoDocs}" th:text="${tipoDoc}"
                       th:value="${tipoDoc}" />
              </select>
    <label>Documento</label>
</div>

Salu2

person Victor G.    schedule 07.08.2017