Php Symfony 2根据所选值动态更改表格
我有下表:Php Symfony 2根据所选值动态更改表格,php,javascript,ajax,symfony,Php,Javascript,Ajax,Symfony,我有下表: Events: - Date (date) - EventType (varchar) - Value (varchar) EventType可以有几个值,例如checkin、checkout、roomrent、misc等。我想制作一个表单,根据“EventType”中选择的类型将“Value”字段类型更改为文本、日期或实体。我试图找到一些解决办法,但没有成功。我必须使用queryBuilder,但确实可以掌握如何使用它。您应该使用事件订阅服务器,通过向表单中添加事件订阅服务
Events:
- Date (date)
- EventType (varchar)
- Value (varchar)
EventType可以有几个值,例如checkin、checkout、roomrent、misc等。我想制作一个表单,根据“EventType”中选择的类型将“Value”字段类型更改为文本、日期或实体。我试图找到一些解决办法,但没有成功。我必须使用queryBuilder,但确实可以掌握如何使用它。您应该使用事件订阅服务器,通过向表单中添加事件订阅服务器,您可以将字段的创建委托给该订阅服务器。 在事件订阅服务器中,您可以检查“EventType”并添加相应的“Value”字段
- 我找到了解决办法。我在表单中添加了
EventSubscriber
,并发送ajax请求,请求类型为用户选择的类型,以便订阅者决定添加哪种字段
$subscriber = new EventSubscriber($builder->getFormFactory());
$builder->addEventSubscriber($subscriber);
$builder->add('eventType', 'entity', array('class' => 'Bundle:EventType', 'property' => 'eventName', 'required' => true));
多亏了艾哈迈德·苏瓦尼。我找到了解决办法。我在表单中添加了
EventSubscriber
,并发送ajax请求,请求类型为用户选择的类型,以便订阅者决定添加哪种字段
$subscriber = new EventSubscriber($builder->getFormFactory());
$builder->addEventSubscriber($subscriber);
$builder->add('eventType', 'entity', array('class' => 'Bundle:EventType', 'property' => 'eventName', 'required' => true));
多亏了艾哈迈德·苏瓦尼。我一直在寻找这样的方法。如果我不知道用户将选择什么,我应该使用哪个表单事件?我已经寻找过这样的方法。如果我不知道用户要选择什么,我应该使用哪个表单事件?