如何在表单Symfony2中添加自动完成字段?

时间:2012-06-05 09:25:55

标签: forms symfony

实际上,我可以在编辑任务中为用户分配任务。我在编辑任务时显示系统中所有用户的下拉列表。现在,我将能够为用户显示带有自动完成功能的文本输入,并且如果不存在则能够添加用户。

怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:20)

您需要做的两件事:

1)创建数据转换器

将允许您使用输入字段而不是链接实体的默认下拉列表。

Data Transformer基本上将您的输入(在您的情况下是用户名字符串)转换为您可以与实体一起存储的实际用户对象。它将允许您定义输入字段,而不是链接实体的默认下拉列表。看看the documentation,这很简单。

2)创建Ajax自动完成

这可以在客户端使用您想要的任何库(jQuery,Prototype等),服务器端在Controller操作中处理,并使用JSON或呈现的模板进行回复。这里有很多教程。如果没有找到,则Ajax结果可能包含创建新用户的链接。

数据转换器是您需要关注的,我会在使用UI之前完成这项工作。