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”字段


您应该使用事件订阅服务器,通过向表单中添加事件订阅服务器,您可以将字段的创建委托给该订阅服务器。 在事件订阅服务器中,您可以检查“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));
      

      多亏了艾哈迈德·苏瓦尼。

      我一直在寻找这样的方法。如果我不知道用户将选择什么,我应该使用哪个表单事件?我已经寻找过这样的方法。如果我不知道用户要选择什么,我应该使用哪个表单事件?