2015-04-23 3 views
11

Wie Sie wissen, hat input Komponente ein Attribut, checked zu, ob das Kontrollkästchen als standardmäßig aktiviert oder nicht markiert.Thymoleaf - Wie eingecheckt Attribut zu Eingabe bedingt hinzufügen

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

das Kontrollkästchen standardmäßig zu deaktivieren, die checked Ausnahme erklärt werden sollte. Ist es möglich, das Attribut checked durch eine Flagge in Thymeleaf zu setzen?

Antwort

5

Nach dem Graben ein wenig, fand ich die Lösung. Es gibt th:checked Attribut für diesen Zweck.

Dies funktioniert:

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

Dies schlägt fehl:

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

Wenn checked=""-input Komponente gesetzt wird, wird es markiert geprüft. Diese Methode ist auch für benutzerdefinierte Attribute th:attr gültig. Betrachten Sie folgendes Beispiel:

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

Wenn flag wahr ist, wird es ersetzt durch:

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

Wenn flag falsch ist, wird es ersetzt durch:

<p></p> 
+2

einfach 'th: checked = $ {flag}', prägnanter für aufgegebenes Attribut – Andrea

+2

@Andrea ist es möglich, eine zu tun Vergleich dh 'th: checked =" $ {model.myField == null} "'? – mmcrae

+0

Wie setze ich Flagge als wahr? – Jesse

Verwandte Themen