是否可以使用th隐藏'复选框':除非?

时间:2017-02-24 13:07:25

标签: thymeleaf

我有一个滤色器,与此类似:

 <input type="checkbox" id="orange" class="orange"  value="orange"/>orange
            <br/>
            <input type="checkbox"  id="peach"   value="peach"/>peach
            <br/>
            <input type="checkbox" id="terracotta"   value="terracotta"/>terracotta
            <br/>
            <input type="checkbox" id="coffee"   value="coffee"/>coffee
            <br/>
            <input type="checkbox" id="browne"  value="browne"/>browne
            <br/>
            <input type="checkbox" id="rose"  value="rose"/>rose
            <br/>
            <input type="checkbox" id="red"   value="red"/>red
            <br/>

我从DB中获取颜色。

<div th:each="model : ${allColor}">

                            <span th:text="${model.color}"/>

我可以使用Thymeleaf隐藏颜色吗? 例如,现在我没有玫瑰色,咖啡色和桃色,但未来我可能会有这种颜色。我想进行颜色验证,如果颜色在DB中,用户可以在UI上看到复选框,否则复选框隐藏。我读到了th:ifth:unless。是否可以使用Thymeleaf制作它?

如果我尝试:

<input type="checkbox" th:if="${model.color==coffee}"id="coffee"   value="coffee"/>coffee 

它不起作用。

1 个答案:

答案 0 :(得分:1)

您应该使用循环创建颜色复选框,而不是隐藏颜色。像这样:

.env

至于为什么你的原始尝试不起作用,很难说没有看到更多的HTML。我猜测$ {model.color}是未定义的,因为你不在循环中?此外,你错过了'咖啡'周围的报价。像这样:`$ {model.color =='coffee'

这样的东西也可以起作用,但我会推荐循环。

<th:block th:each="model : ${allColor}" th:with="color=${model.color}">
    <input type="checkbox" th:id="${color}" th:class="${color}" th:value="${color}"/> <span th:text="${color}" />
    <br />
</th:block>