【发布时间】:2017-05-23 20:05:39
【问题描述】:
我正在使用 Symfony / twig。
我有一个名为 GroupesOfCompetences 的集合,其中包含许多 GroupeOfCompetence。 每个 GroupeOfCompetence 都包含一组能力
我希望能够获得在一个表单中检查的所有能力,其代码是:
<form action="{{ path('app_profil_traitement_competences') }}" method="post">
{% set i = 1 %}
{% for GroupeOfCompetence in GroupesOfCompetences %}
name of the group of competences : {{ GroupeOfCompetence.name }}
<ul>
{% for competence in GroupeOfCompetence.competences %}
<input type="checkbox" name= {{ 'competence' ~ i }} value='{{ competence.name }}'> {{ competence.name }} <br>
{% set i = i + 1 %}
{% endfor %}
</ul>
<br> <br>
{% endfor %}
<input type="submit" value="Submit"/>
</form>
我应该如何设置复选框的名称和值,以便能够获取在 '$request->getSession();' 对象中选中的复选框?
提前致谢!
【问题讨论】:
-
var x=$("checkbox").is(":checked") 如果你使用 jQuery。或者在控制器上的请求中获取它们,然后将它们添加到您的会话中。
-
Twig 用于渲染。您应该更改您的控制器操作,以便它构建一个包含所有渲染所需数据的对象的数组
-
是的,Frank B。但这太复杂了。我希望我可以得到被选中的权限,然后从这些选中的复选框中构建对象,然后将它们注入到权限和其他实体(在我的例子中是用户)之间的关系中......
-
是的,Albeis 这可能是一个解决方案。但是如何设置每个复选框的名称,以便您可以知道检查了哪些权限。以及如何将这些信息发送到操作路径?
-
@zskiredj :表单按名称属性将值发送到操作 url。在您的控制器上,按名称获取复选框。 $request->request->get('"checkbox name'),对于每个复选框,因此,在 Controller 上,您必须检查是否检查了权限。