Je suis entrain de finir une partie de mon code (la suite de http://www.jeuweb.org/showthread.php?tid=8045) et j'obtiens un résultat étrange...
Voici ma partie ruby de mon appel à l'autocompletion (une action dans un controller Ajax)
pas très compliqué, je crée un objet json contenant un id, un label et un name
voici le script qui fait appel a cette action :
Logiquement, au moment de la saisie, j'ai une liste réalisée avec les "labels" de ma liste JSON qui apparait, quand je sélectionne un élément de la liste, c'est la partie "name" qui devrait apparaitre dans mon champ de formulaire or c'est la label qui apparait! J'ai ajouté le alert pour tester et lui fonctionne très bien...
Si quelqu'un a une idée???
Voici ma partie ruby de mon appel à l'autocompletion (une action dans un controller Ajax)
def cities
if params[:term]
like = "%".concat(params[:term].concat("%"))
cities = City.where("name like ?", like).limit(10).order("LENGTH(name)")
else
cities = City.all
end
list = cities.map { |u| Hash[ id: u.id, label: u.name+" ("+u.dep.to_s+")", name: u.name]}
render json: list
end
pas très compliqué, je crée un objet json contenant un id, un label et un name
voici le script qui fait appel a cette action :
$(document).ready ->
$('#club_city').autocomplete
source: "/ajax/cities"
select: (event, ui) ->
$('#club_city').val(ui.item.name)
alert(ui.item.name)
l'autocompletion fonctionne bien mais j'ai tout de même un problème.Logiquement, au moment de la saisie, j'ai une liste réalisée avec les "labels" de ma liste JSON qui apparait, quand je sélectionne un élément de la liste, c'est la partie "name" qui devrait apparaitre dans mon champ de formulaire or c'est la label qui apparait! J'ai ajouté le alert pour tester et lui fonctionne très bien...
Si quelqu'un a une idée???