2015-04-23 27 views
11

Jak wiadomo, input składnik ma atrybut, checked, aby zaznaczyć, czy pole wyboru jest domyślnie włączone, czy nie.Thymeleaf - Dodawanie warunkowego atrybutu do wprowadzania warunkowego

<input type="checkbox" name="mycheckbox" checked="checked"/> 

Aby wyłączyć opcję domyślnie wyjątek checked powinny zostać uznane. Czy jest możliwe ustawienie atrybutu checked przez flagę w Thymeleaf?

Odpowiedz

5

Po drobnym wykopaniu znalazłem rozwiązanie. W tym celu jest atrybut th:checked.

to działa:

<input type="checkbox" name="mycheckbox" th:checked="${flag} ? 'checked'"> 

nie to:

<input type="checkbox" name="mycheckbox" th:checked="${flag} ? 'checked' : ''"> 

Jeśli checked="" jest ustawiony na input składnika, zostanie ona oznaczona sprawdzane. Ta metoda jest również ważna w przypadku atrybutów niestandardowych th:attr. Rozważmy następujący przykład:

<p th:attr="customattr=${flag}?'attr'></p> 

Jeśli flag jest prawdą, to otrzymuje się:

<p customattr="attr"></p> 

Jeśli flag jest fałszywy, to otrzymuje się:

<p></p> 
+2

prostu 'th: checked = $ {flaga}', jest bardziej zwięzły na sprawdzonej atrybut – Andrea

+2

@Andrea jest to możliwe do zrobienia porównanie np. 'th: checked =" $ {model.myField == null} "'? – mmcrae

+0

jak ustawić flagę jako prawdziwą? – Jesse