Bonjour j'ai un formulaire de création de projet avec un champ entity qui récupère un numéro de ligne d'une table il m'affiche une liste déroulante
voici mon code twig:
mon formType
j'aimerais le mettre en champ de saisi et qu'il me propose le numéro de ligne par rapport a ce que je saisi (comme un champ de recherche).j'ai fait beaucoup de recherche mais j'ai pas trouvé la solution, si quelqu'un a une idée ??Merci
Tu veux saisir partiellement ton numéro de ligne et que la boite de select se positionne à l'endroit qui comprend le pattern de la ligne ?
Style tu saisis dans la boite de select 450 et il se positionne à 450000 (ton exemple).
Si c'est cela ce n'est pas du Symfony mais de l'auto-complètion qui est réalisée côté navigateur. Et cela dépend des outils côté client ... style jQuery, etc.
Merci pour votre réponse, oui c'est exactement sa que je veux faire j'ai fait des recherches sur le sujet j'ai trouvé qu'il faut utilisé du javaScripte
et j'ai aucune idée de la manière a procédé je suis pas très fort en JavaScript
en php j'ai fait un fichier qui marche tres bien mais sur symfony j'arrive pas
Donc il faut lire les tutos sur l'auto-complétion côté navigateur. Ce n'est pas un sujet Symfony. Quand à le faire en php, ne relancerais tu pas par Ajax à chaque nouvelle saisie ? Si c'est le cas, dur pour le serveur !
merci pour les liens le soucis c'est que mes donnée sont sur une base et j'ai vu que les donnée d'autocomplétion sont saisi dans les variable javascripte
Alors je clique dans la liste déroulante et là je tape les premiers caractères ... et la liste déroulante se positionne automatiquement en fonction des caractères saisis.
Je travaille sur des listes d'environ 2.000 lignes.
Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: php;">Votre code ici</pre>.
Tu peux éditer ton premier message pour corriger cela ... ou pas
Alors on a le même code mais il a des limites dans mon cas exemple quant je tape 77 il me donne pas le num qui a 770000 mais 700000 et il faut défilai jusqu’à 770000
Ok mais dans ton premier post tu montres du code Symfony (form, twig) or l'auto-complétion est faite côté navigateur donc tu utilises quoi comme briques html, css et js ?
oui c'est vrais c est pas un bon exemple je veux jute dire actuellement j'ai une vu comme ce que j'ai envoyé sur le poste avec un champ titre et champ ligne en liste déroulante et le but c'est de l'affiché comme sur l'exemple google en tapant les première chiffre on a une liste correspondante
Alors je ne sais te dire plus : moi cela fonctionne en Symfony 4.2.8, avec bootstrap 4.1.3 et jquery 3.4.1.
La seule chose que je ferai c'est au lieu d'avoir une seule ligne affichée dans la liste déroulante j'en mettrai plusieurs pour avoir le rendu que tu veux sur ton exemple Google.
Je pense ta pas bien compris mon idée la liste déroulante que j'ai fait elle affiche très bien la liste des numéro de ligne qui sont sur la base mais moi au lieux de l'affiché en liste déroulante je voulais le mettre comme un champ de saisi qui me donne les num par rapport a ceux que je saisi sur le champ c'est comme un champ recherche qui récupère les données de la base
Pour le système que tu souhaites, il te faut utiliser du Javascript, il te faut donc créer du code Javascript.
Via se code Javascript, soit tu fais une simple requête ajax, ou alors tu utilises un plugin jQuery, par exemple : Ajax Autocomplete for jQuery.
Dans les deux cas, il te faut créer une méthode côté back accessible via url, de manière à ce que cette méthode récupère la valeur du paramètre passé dans l'url, qu'elle fasse ensuite la recherche auprès de ta base de données et qu'elle renvoie les résultats retournés.
Dans les grandes lignes, voici ce que tu dois faire.
- Edité par Lartak 21 mai 2019 à 21:21:15
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Effectivement je n'avais pas compris exactement ton besoin.
Lartak a donné les solutions.
J'y vois néanmoins une réserve si tu as un site avec beaucoup d'utilisateurs car tu vas donc faire une requête au serveur à chaque nouveau caractère tapé dans la zone et donc charger le serveur.
Merci a vous pour cette aide précieuse je pense avec sa j'ai de quoi réglé mon problème
[Symfony]Recuperer la valeur d'un champs entity
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.