添加下拉列表以显示何时选中复选框

时间:2016-06-14 19:02:44

标签: php symfony checkbox

我目前有一个带复选框的表单。我想自定义复选框,以便它们跟随它们(在DOM中)。当用户勾选复选框时,其下拉列表应显示在其下方。 勾选复选框时显示下拉列表没有问题,但我无法让Symfony在我的表单中添加下拉列表。到目前为止我所能做的就是在表单底部有一个新字段,但我需要在每个复选框后面都有下拉列表。

此外,javascript无法生成下拉列表,因为它们将包含数据库中的数据。我知道我可以在JS中构建一个解决方法,但我不想使用这种方法。

过去几天我一直在寻找和尝试不同的事情但没有成功。

使用Symfony2可以实现吗?

注意:我正在寻找php部分的东西,JS显示下拉列表不会有问题。

谢谢

1 个答案:

答案 0 :(得分:0)

有两种可见的方法可以做到这一点。

1 - 在javascript中完成所有工作,在单击复选框时动态创建新组合,将组件添加到具有特定属性" name"这让你知道什么是复选框,然后获取价值并做你需要的任何事情。例如,您必须准备好用于创建组合的模板,如:

<select id="onthefly_x" name="onthefly_x">
  <option value="1">One</option>
  <option value="2">Two</option>
  <option value="3">Three</option>
  <option value="4">Four</option>
</select>

然后在创建组件之前替换&#34; x&#34;对于复选框vale(如果将复选框标识为实体ID)。通过这种方式,您可以在控制器中询问是否存在任何onthefly_ {id}为每个提交的复选框提供了获取它的值。

2-作为第二个选择,您可以创建表单,使组合始终带有复选框,但通过类属性隐藏。然后你只需要在复选框点击时显示它。这里的问题是所有组合都将被提交,因此您必须在控制器中检查哪些组合选中了复选框。

希望你能得到这个想法。