这个包的文档记录真的很糟糕。
如果您使用的是 Jquery-UI 库,Matteo 在上一篇文章中所说的是正确的。你想使用 Select2 库吗,你必须这样修改代码:
/**
* @Route("/autocomplete-user/search", name="acme_autocomplete_user_search")
*/
public function autocompleteUserSearchAction(Request $request)
{
$q = $request->get('q');
$userRepository = $this->get('acme.user_provider');
$users = $userRepository->findLikeUsername($q);
$results = array();
foreach ($users as $user) {
$results[] = array(
'id' => $user->getId(),
'text' => $user->getFullName())
);
}
return new JsonResponse($results);
}
请注意,属性 i 不再是“term”而是“q”
请注意,对于 Select2 lib,默认的 Json 响应格式如下:
{
more: false,
results: [
{ id: "CA", text: "California" },
{ id: "AL", text: "Alabama" }
]
}
但在 PUGXAutoCompleterBundle 中它只期望:
[ { id: "CA", text: "California" },
{ id: "AL", text: "Alabama" } ]
此外,文档中没有提及支持的版本。它适用于我:
jquery 1.11.3 和 jquery-ui 1.11.3
要么
jquery1.11.3 和 select2 3.5.2
希望可以节省您的时间