检查输入类型复选框与百里香叶

时间:2015-02-12 21:33:45

标签: spring-boot thymeleaf

我一直在玩弹簧靴和百里香;我试着做一个表格,我会列出数字,用户会选择它们;但我想"检查"第三个元素(当等于3时),我看不到输入被检查。

我没有在加载信息和显示复选框时遇到问题,当我想在页面加载时默认选中其中一个时出现问题。

我需要一些帮助来确定它应该是什么问题,或者它是否是th:checked属性的错误。

我在控制器中有这个

@ModelAttribute("allFeatures")
public List<Integer> populateFeatures() {
    return  Arrays.asList(1, 2, 3, 4, 5, 6);
}

这是html代码

<ul>
    <li th:each="feat : ${allFeatures}">
        <input type="checkbox" th:field="*{features}" th:value="${feat}" th:checked="${feat == 3}"></input>
        <label th:for="${#ids.prev('features')}" th:text="${'seedstarter.feature.' + feat}">Electric Heating</label>
    </li>
    <li th:remove="all">
        <input id="removed1" type="checkbox"/> <label for="removed1">Turf</label>
    </li>
</ul>

提前致谢。

1 个答案:

答案 0 :(得分:5)

使用th:checked并避免th:field并包含'name'属性

<input type="checkbox" th:checked="${feat} == 3" name="features"></input>

额外评论

但正确的方法是避免th:checked'name'归因并坚持th:field。但在这种情况下,您必须确保在将控制器中的模型属性"features"发布到视图之前对其进行初始化。在这里,您可以定义默认情况下从控制器本身检查的复选框。

但是你想要显示复选框的动态列表,你的情况似乎有点棘手。所以我更喜欢第一种解决方案。