2017-07-18 505 views
0

也许标题比自己的问题更混乱。这是我的情况,用Thymeleaf我会列出一张客户列表。它显示名称,姓氏,一个按钮来删除它,一个复选框,以显示它的状态(如果用户有效或无效)SpringBoot + Thymeleaf动态表与行中的复选框沟通与控制器

<table class="table"> 
<thead> 
<tr> 
    <th>Name</th> 
    <th>Last Name</th> 
</tr> 
</thead> 
<tbody> 
<tr th:each="client : ${clientList}"> 
    <td th:text="${client.name}"></td> 
    <td th:text="${client.lastName}"></td> 
    <td> 
     <a th:href="@{/delete_client/} + ${client.id}" class="btn btn-danger">Delete</a> 
    </td> 
    <td> 
     <input type="checkbox" name="my-checkbox" th:checked="${client.state} ? 'checked'"> 
    </td> 

</tr> 
</tbody> 

到目前为止,没有任何问题。但是我不知道该怎么做是在用户点击复选框时为控制器通信,以便禁用或启用该特定客户端。

类似于按钮用来删除客户端,但改变它的状态。

我被告知使用AJAX,但不知道如何。

谢谢!

回答

1

你可以避开ajax。用于删除酷似效果可以应用以下步骤来包含复选框td元件:

  • 包裹中的复选框form标签
  • 提供在form适当action属性。的动作是处理一个客户端的状态(到相若方式/delete_client/)的更新
  • 提供在复选框onclick="submit();"属性,当用户点击它

例如将触发提到的端点的端点

<td> 
    <form th:action="@{/switch_client_state/} + ${client.id}"> 
     <input type="checkbox" name="my-checkbox" onclick="submit();" th:checked="${client.state} ? 'checked'"> 
    </form> 
</td> 
+0

谢谢@Jakub。我会试一试,让你知道 – sebasira

+0

对不起,我把它标记为正确的太晚了!感谢您的帮助! – sebasira

+0

@sebasira无可否认。我很高兴我的回答对你有用! :) –