autocomplete n'affiche pas les résultats
Bonjour,
J'ai un champ texte représentant des personnes et je souhaite que lorsqu'un utilisateur entre des caractères dans ce champ, il lui soit proposé la liste des personnes existant en base.
J'utilise le framework Struts 2 et le widget autocomplete de la librairie Jquery 10.
Actuellement, je récupère bien le nom des personnes de la base de données (je le vérifie avec un "alert(..)" dans mon javascript) mais rien ne s'affiche comme suggestions.
Voici mon input dans la jsp :
Code:
<s:textfield id="personnes" name="personnes"/>
Voici ma jsp représentant la liste des personnes trouvées en base :
Code:
1 2 3 4
| <%@ taglib prefix="s" uri="/struts-tags"%>
<s:iterator value="listePersonnes">
<s:property value="id" /> | <s:property value="nom" />
</s:iterator> |
Voici mon code Javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
$('#personnes').autocomplete({
minLength : 2,
source : function(request, response){
$.ajax({
url : "rechercherPersonnes.do",
data : request,
type : 'GET',
success: function(data) {
data = parse(data);
response($.map(data, function(item) {
alert("item.nom = " + item.nom + ", item.id" + item.id);
return {
label: item.nom,
value: item.id
};
}));
},
error : function(data) {
alert('ERROR' + data);
}
});
}
});
function parse(data) {
var parsed = [];
var rows = data.split("\n");
for (var i=0; i < rows.length; i++) {
var row = $.trim(rows[i]);
if (row) {
row = row.split("|");
parsed[parsed.length] = {
id: row[0],
nom : row[1]
};
}
}
return parsed;
}; |
Quelqu'un aurait-il une piste svp?