2011-11-10 4 views
1

J'utilise YUI 2 autocomplete, j'ai mon propre service web qui fournit des suggestions.
Chaque fois que l'utilisateur entre "" (espace), les suggestions n'étaient pas affichées. Comme si l'utilisateur entre "foo bar" alors les suggestions sont affichées jusqu'à "foo" mais une fois que l'utilisateur entre "", les suggestions ne sont pas affichées. J'ai vérifié les appels Ajax et observé que l'espace est remplacé par "%20". Ainsi, après l'espace, chaque appel Ajax contient "%20" et c'est pourquoi aucun enregistrement n'est extrait de la base de données.
J'ai essayé de définir l'espace en tant que délimiteur. Si nous utilisons l'espace comme délimiteur, il affichera des suggestions pour un nouveau terme (quel utilisateur a tapé après l'espace). Comme si vous entrez "foo bar" puis après espace, il va afficher une suggestion pour "bar" pendant que je veux des suggestions pour compléter "foo bar" terme.
Je souhaite afficher une suggestion pour un terme complet quel que soit l'utilisateur qui a tapé, y compris l'espace.
Y a-t-il un moyen de gérer cela dans YUI?Comment gérer l'espace dans YUI autocomplete

Répondre

1

URL encodée en remplaçant la méthode generateRequest et cela a fonctionné :)

myAutoComp.generateRequest = function(sQuery) { 
    return "myProject/index.php?query=" + encodeURIComponent(sQuery); 
}; 
+0

J'étais sur le point de suggérer que tu devrais encoder la requête :) – Zlatko

+0

@zladuric: Tu m'as donné une chance de me répondre :) – xyz

0
YUI().use('autocomplete', 'autocomplete-highlighters', function (Y) { 
    Y.one('#ac-input').plug(Y.Plugin.AutoComplete, { 
     resultHighlighter: 'phraseMatch', 
     source: 'your url' 
    }); 
}); 

Cela fonctionne très bien pour moi.

+0

Pouvez-vous s'il vous plaît ajouter quelque chose à votre réponse? Comme je ne suis pas sûr de la façon dont il traite de l'espace? – xyz

+0

+ c'est YUI 3, non? – Zlatko

+0

@zladuric: Je pense que My_Boon parle de YUI3. J'essaie YUI2. – xyz

Questions connexes