Je suis nouveau à jQuery et j'essaie d'utiliser le widget de saisie semi-automatique avec un appel ajax à ma base de données.Jquery autocomplete question
Je suis capable d'appeler la base de données, j'ai renvoyé ArrayList de valeurs de chaîne, et j'ai converti la réponse en objet JSON en utilisant org.codehaus.jackson.map.ObjectMapper
(Dois-je utiliser autre chose?). Quand je mets un autel, je peux voir les résultats comme des chaînes pures avec un délimiteur de virgule, mais je ne peux pas voir une liste de suggestions avec saisie semi-automatique.
code Java qui retourne l'objet JSON en utilisant org.codehaus.jackson.map.ObjectMapper
:
response.setContentType("application/json");
response.setHeader("cache-control", "no-cache");
ArrayList polNo = doa.getPolicyData(ajaxForm.getPolicyNumber());
ObjectMapper mapper = new ObjectMapper();
OutputStream out = response.getOutputStream();
mapper.writeValue(out, polNo);
code JavaScript:
$("#policyNumber").autocomplete({
source: function (request,response){
$.ajax({
type: "POST",
url: "/NB/AjaxSubmit.do",
dataType: "json",
data: {policyNumber: request.term},
success: function (data) {
alert(data);
}
});
},minLength: 3
});
données d'alerte indiquant que: TMA412732,TMA412733,TMA412734
Dans le code ci-dessus, je retourné ArrayList de valeurs de chaîne et a pu montrer dans autopopulat e. J'ai amélioré le code ci-dessus pour renvoyer la liste des objets de personne qui a le prénom, le nom de famille etc. Maintenant, quand l'utilisateur tapant le sapin ou le nom dans l'autopopulate, je voudrais suggérer le prénom, le nom de famille.
Quelqu'un pourrait-il aider à améliorer cela? Merci!
succès: function (données) { réponse (données); // u oublié de définir des données sur la réponse }
Vous êtes ne passant jamais 'data' à la fonction' response'. Que se passe-t-il si vous ajoutez 'response (data)'? –