Флажок Thymeleaf установлен с использованием двухстрочной коллекции - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть две строки коллекции.

Один - создать все флажки.

Другой - выбрать элемент для проверки.

Например, я есть две коллекции строк ["A", "B", "C", "D"] ["A", "C"]

Я хочу сделать 4 флажка A, B , C, D и хочу проверить A и C

Я попробовал, как показано ниже.

    <span th:each="interestName : ${allInterest}">
        <span th:each="interest : ${userInfo.interestName}">
            <input type="checkbox"
               name="eachUserInterest"
               th:value="${interestName.name}"
                th:checked="${interestName.name.equals(interest)}"/>
            <label th:text="${interestName.name}"></label>
        </span>
    </span>

Однако, приведенный выше код генерирует флажок многократно столько раз, сколько он есть проверено. Результаты казни

Помогите, пожалуйста.

1 Ответ

0 голосов
/ 08 апреля 2020

Вы должны просто l oop над массивом allInterest и использовать contains, чтобы определить, установлен флажок или нет. Примерно так, например:

<th:block th:each="interest: ${allInterest}">
  <input type="checkbox"
         name="eachUserInterest"
         th:value="${interest}"
         th:checked="${userInfo.interestName.contains(interest)}" />
  <label th:text="${interest}"></label>
</th:block>
...