我想在TextType表单中使用自动填充功能。
我正在使用Symfony 3.
我需要使用哪种捆绑包?
我试过:
更新
我正在尝试 tetranz / select2entity-bundle
在我的控制器中:
/**
* Lists all region entities.
*
* @Route("/candidat/listeRegion", name="get_liste_region")
* @Method("GET")
*/
public function getListeRegionAction()
{
$em = $this->getDoctrine()->getManager();
$regions = $em->getRepository('GECandidatBundle:Region')->findAll();
$list_region = array();
foreach ($regions as $region){
$obj['id'] = $region->getId();
$obj['text'] = $region->getNom();
array_push($list_region,$obj);
}
return new JsonResponse($list_region);
}
JsonResponse返回一个对象数组:
[{ “ID”:1, “文本”: “REGION1”},{ “ID”:2 “文本”: “区域2”},{ “ID”:3 “文本”: “区3” }]
在我的buildForm中:
$builder
->add('lieuxTravailSouhaites', Select2EntityType::class, [
'label' => 'Lieux travail souhaites *',
'label_attr' => [
"class" => "smaller lighter blue",
"style" => "font-size: 21px;",
],
'multiple' => true,
'remote_route' => 'get_liste_region',
'class' => 'GECandidatBundle:Region',
'primary_key' => 'id',
'text_property' => 'name',
'minimum_input_length' => 2,
'page_limit' => 10,
'allow_clear' => true,
'delay' => 250,
'cache' => true,
'cache_timeout' => 60000, // if 'cache' is true
'language' => 'fr',
'placeholder' => 'Sélectionnez un lieu',
// 'object_manager' => $objectManager, // inject a custom object / entity manager
])
当我输入两个字母时,它不会显示确切的字词。即使我写完整个单词也没有选择它,它也无法正常工作。
我检查了我导入的jquery:
<script src="{{ asset('assets/vendor/jquery/jquery-3.2.1.min.js') }}"></script>
在浏览器控制台中我收到此错误:
spinners.js:21 Uncaught TypeError:$(...)。selected不是函数 在HTMLDocument。 (spinners.js:21) 在j(jquery.min.js:2) at Object.fireWith [as resolveWith](jquery.min.js:2) 在Function.ready(jquery.min.js:2) 在HTMLDocument.J(jquery.min.js:2)
我该怎么做?