gpt4 book ai didi

javascript - 使用 Javascript 将复选框动态添加到 Symfony 2 表单

转载 作者:行者123 更新时间:2023-12-03 09:53:56 24 4
gpt4 key购买 nike

我在使用 Symfony2 和 Javascript 时遇到了一些问题。

我有一个带有选择框的表单:

$builder
->add('town', 'entity', [
'class' => 'AppBundle:Towns',
'property' => 'id',
'placeholder' => 'Select an item',
'required' => true,
]);

当我单击一个城镇时,与所选城镇相关的税费必须以复选框的形式显示在表单中。

据我了解,我必须通过 AJAX 调用 Controller 并获取 id 的 JSON 和税收描述,不是吗?但是我应该怎么做才能将这些信息添加到表单中呢?我怎样才能拦截这个选择框的“selected”事件?

当用户单击“发送”按钮时,我应该采取什么措施将信息发送到服务器吗? AFAIK,Symfony2 有一些机制来避免发送不是由表单生成的数据,不是吗?

最佳答案

您必须定义 collection字段到您的表单生成器。

像这样添加即可;

$builder->add('taxes', 'collection', [
'type' => 'checkbox',
'options' => ['required' => true]
];

从您的 View 中调用它:

{{ form_row(form.taxes) }} // or just use render all form field with form_widget(form)

然后,您必须编写一些 JavaScript 来向您的收藏添加/删除税款。

如果您想根据所选城镇选择税收,那么;向您的 Controller 发出一个 ajax 请求,返回 json/html 数据,然后将其添加到您的表单中,例如;

<input type="checkbox" name="taxes[]" value="your_tax_value" />

关于javascript - 使用 Javascript 将复选框动态添加到 Symfony 2 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30799365/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com