Как создать автозаполнение текстового поля в Symfony с формой AbstractType?

1

Я пытаюсь создать автоматическое полное текстовое поле в symfony с AbstractType Form, которое получает данные из базы данных, и я хочу, чтобы он дал мне предложения о том, что я вводил в качестве входных данных, я попробовал несколько сторонних плагинов для этого, но не работал, может я пропустил некоторые процедуры установки. вот ссылка плагина, я использовал форму git после выполнения всех этапов установки, это дает мне текстовое поле. есть ли другой способ создать автоматическое полное текстовое поле, вот мой код для FormType

 $builder->add('autoText', 'autocomplete', array(
     'class' => 'MyBundle:Demo',
 ));

мой шаблон html.twig:

<div class="col-md-10">
    [{% for auto in results -%}
        {{ {id: auto.id, label: auto.name, value: auto.name}|json_encode|raw }}
        {%- if not loop.last %},{% endif -%}
    {%- endfor %}]
</div>

<!-- js -->

{% javascripts
    'js/jquery.js'
    'js/jquery-ui.js'
    '@PUGXAutocompleterBundle/Resources/public/js/autocompleter-jqueryui.js'
%}
{% endjavascripts %}
{% javascripts %}
    <script type="text/javascript">
        $('#autoText').autocompleter({url_list: '/auto_search', url_get: '/auto_get/'});
    </script>
{% endjavascripts %}

мой DemoController

Public class DemoController extends Controller{
//....
    public function searchAutoAction(Request $request) {
        $q = $request->get('AutoText');
        $em = $this->getDoctrine()->getManager();
        $results = $em->getRepository('MyBundle:Demo')->findLikeName($q);

        return array('results' => $results);
    }
    public function getAutoAction($id) {
        $em = $this->getDoctrine()->getManager();
        $auto = $em->getRepository('MyBundle:Demo')->find($id);

        return new Response($auto->getName());
    }

.....//
}

route.yml

auto_search:
    path: /auto_search/
    defaults: { _controller:MyBundle:Demo:searchAuto }

auto_get:
    path: /auto_get/
    defaults: { _controller:MyBundle:Demo:getAuto }
  • 0
    Вы проверили из источника вашей страницы, что созданный идентификатор ввода формы совпадает с тем, который вы используете в своем JavaScript? Т.е. идентификатор на самом деле это «автотекст» ...
  • 0
    да, я проверил это из источника моей страницы, идентификатор тот же,
Показать ещё 6 комментариев
Теги:
autocomplete
doctrine2

1 ответ

0

Прочтите эту страницу документа и добавьте библиотеки js следующим образом:

{% javascripts
    'js/jquery.js'
    'js/jquery-ui.js'
    '@PUGXAutocompleterBundle/Resources/public/js/autocompleter-jqueryui.js'
%}
    <script src="{{ asset_url }}"></script>
{% endjavascripts %} 
  • 0
    Хорошо, я добавил этот путь сборки для jqury и jquery-ui, но результат все тот же. это просто текстовое поле.
  • 0
    @TusharPurohit Вы читали страницу документации?
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню