Symfony 2根据选定的值动态更改表单

时间:2012-06-07 12:50:24

标签: php javascript ajax symfony

我有下表:

Events:
 - Date (date)
 - EventType (varchar)
 - Value (varchar)

EventType可以有一些值,例如checkin,checkout,roomrent,misc等。我想制作一个会改变字段类型" Value"基于" EventType"中所选类型的文本,日期或实体。我试图找到一些解决方案,但没有成功。 The only thing I found我必须使用queryBuilder,但实际上可以捕捉到如何操作。

2 个答案:

答案 0 :(得分:13)

您应该使用事件订阅者,通过向您的表单添加事件订阅者,您将字段的创建委派给该订阅者。 在您的活动订阅者中,您可以检查“EventType”并添加相应的“值”字段。

答案 1 :(得分:1)

我找到了解决方案。我在表单中添加了EventSubscriber并发送了ajax请求,其中包含用户选择的类型,以便订阅者决定添加哪种字段。

$subscriber = new EventSubscriber($builder->getFormFactory());
$builder->addEventSubscriber($subscriber);

$builder->add('eventType', 'entity', array('class' => 'Bundle:EventType', 'property' => 'eventName', 'required' => true));

感谢Ahmed Siouani。