testajax.html.twig 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. {% extends "videotheque/base.html.twig" %}
  2. {% block title %}Ajax{% endblock %}
  3. {% block titre %}Ajax{% endblock %}
  4. {% block body %}
  5. <form method="post" action="">
  6. <label for="mot-cle">Chercher un nom de réalisateur</label>
  7. <input list="results" type="text" id="mot_cle" autocomplete="off">
  8. <datalist id="results">
  9. </datalist>
  10. </form>
  11. {% endblock %}
  12. {% block javascripts %}
  13. <script src="{{ asset('bundles/app/assets/oXHR.js') }}"></script>
  14. <script>
  15. $(document).ready( function() {
  16. if (!$('body').hasClass('searching')) {
  17. $('#mot_cle').keyup(function (e) {
  18. var contenu = $('#mot_cle').val();
  19. if (contenu.length > 2) {
  20. setTimeout(function() {
  21. $.ajax({
  22. type: 'POST',
  23. url: "{{ path('ajouter') }}",
  24. data: 'mot_cle=' + contenu,
  25. success: function (data) {
  26. parseJson(data);
  27. return;
  28. },
  29. complete: function(){
  30. }
  31. });
  32. }, 1000);
  33. }
  34. });
  35. }
  36. });
  37. function parseJson(data) {
  38. $('#results').empty();
  39. for (let i = 0; i < data.length; i++) {
  40. let realisateur = data[i];
  41. console.log("OBJECT JSON %o", realisateur);
  42. let {id, nom, prenom} = JSON.parse(realisateur);
  43. let text = prenom + " " + nom;
  44. let text2 = nom + " " + prenom;
  45. $('#results').append('<option value="'+text+'" />');
  46. //$('#results').append('<option value="'+text2+'" />');
  47. }
  48. }
  49. </script>
  50. {% endblock %}