spring th:在选择/选项中选择了一个数字,Thymeleaf不起作用

pgx2nnw8  于 2024-01-05  发布在  Spring
关注(0)|答案(3)|浏览(284)

我有这个密码

  1. <div th:class="form-group">
  2. <td><label class="control-label leftMargin10 rightMargin10" scope="col" th:text="#{insertHours.hhFrom}">Attivita'</label></td>
  3. <td><select class="form-control" th:field="*{hhFrom}">
  4. <option th:each="i : ${#numbers.sequence(0, 23)}" th:value="${i}" th:text="${i}" th:selected="${ i==9 } ">Options</option>
  5. </select>
  6. </td>
  7. </div>

字符串
当我尝试在th:selected中添加条件时,它不起作用。
我也用这个代码替换:

  1. th:attr="${i==9}? selected=selected: '' "


但结果是一样的
的HTML

  1. <select class="form-control" id="hhFrom" name="hhFrom">
  2. <option value="0" selected="selected">0</option>
  3. <option value="1">1</option>
  4. <option value="2">2</option>
  5. <option value="3">3</option>
  6. <option value="4">4</option>
  7. <option value="5">5</option>
  8. <option value="6">6</option>
  9. <option value="7">7</option>
  10. <option value="8">8</option>
  11. <option value="9">9</option>
  12. <option value="10">10</option>
  13. <option value="11">11</option>
  14. <option value="12">12</option>
  15. <option value="13">13</option>
  16. <option value="14">14</option>
  17. <option value="15">15</option>
  18. <option value="16">16</option>
  19. <option value="17">17</option>
  20. <option value="18">18</option>
  21. <option value="19">19</option>
  22. <option value="20">20</option>
  23. <option value="21">21</option>
  24. <option value="22">22</option>
  25. <option value="23">23</option>
  26. </select>


提前感谢您的解答

xyhw6mcr

xyhw6mcr1#

你不能沿着使用th:fieldth:selected。如果你用name=someMeaningfullName替换th:field,代码就可以正常工作了。
查看Thymeleaf论坛上的this主题以了解更多信息

juud5qan

juud5qan2#

另一个很简单的技巧是关闭select标签:<select ... />
请注意/>在第一行的末尾:

  1. <select th:field="*{percentage}" />
  2. <option th:each="i : ${#numbers.sequence(0, 100)}" th:value="${i}" th:text="${i}" th:selected="${i==75}"></option>
  3. </select>

字符串
呈现为:

  1. <select id="percentage" name="percentage" />
  2. <option value="0">0</option>
  3. <option value="1">1</option>
  4. ...
  5. <option value="74">74</option>
  6. <option value="75" selected="selected">75</option>
  7. <option value="76">76</option>
  8. ...
  9. <option value="100">100</option>
  10. </select>


Web浏览器和Thymeleaf都可以很好地处理这个问题。
我使用Thymeleaf v. 3.0.9.RELEASE

展开查看全部
mwyxok5s

mwyxok5s3#

我还发现,如果你把<div>标签周围的选项字段,选择=“选定”也将工作。

  1. <select th:field="*{name}">
  2. <div>
  3. <option disabled="true" selected="selected" value="">Select</option>
  4. <option value="1">first</option>
  5. <option value="2">second</option>
  6. </div>
  7. </select>

字符串

相关问题