我有这段代码
<div th:class="form-group">
<td><label class="control-label leftMargin10 rightMargin10" scope="col" th:text="#{insertHours.hhFrom}">Attivita'</label></td>
<td><select class="form-control" th:field="*{hhFrom}">
<option th:each="i : ${#numbers.sequence(0, 23)}" th:value="${i}" th:text="${i}" th:selected="${ i==9 } ">Options</option>
</select>
</td>
</div>
当我尝试添加条件时:选中它不起作用。
我也用这段代码替换了:
th:attr="${i==9}? selected=selected: '' "
但结果是一样的。
HTML
<select class="form-control" id="hhFrom" name="hhFrom">
<option value="0" selected="selected">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
</select>
提前感谢答案
答案 0 :(得分:13)
您无法将th:field
与th:selected
一起使用。
如果您将th:field
替换为name=someMeaningfullName
,则代码将正常运行。
查看Thymeleaf论坛上的this主题以获取更多信息
答案 1 :(得分:4)
此外,我发现如果您在选项字段周围添加<div>
标记,则选择=&#34;已选择&#34;也会工作。 e.g
<select th:field="*{name}">
<div>
<option disabled="true" selected="selected" value="">Select</option>
<option value="1">first</option>
<option value="2">second</option>
</div>
</select>
答案 2 :(得分:0)
另一个非常简单且工作的黑客方法是关闭选择标记:<select ... />
请注意第一行末尾的/>
:
<select th:field="*{percentage}" />
<option th:each="i : ${#numbers.sequence(0, 100)}" th:value="${i}" th:text="${i}" th:selected="${i==75}"></option>
</select>
呈现为:
<select id="percentage" name="percentage" />
<option value="0">0</option>
<option value="1">1</option>
...
<option value="74">74</option>
<option value="75" selected="selected">75</option>
<option value="76">76</option>
...
<option value="100">100</option>
</select>
网页浏览器和Thymeleaf都会处理这个问题。
我使用了Thymeleaf v。3.0.9.RELEASE