私はYUI 2 autocompleteを使用しています。私は自分のWebサービスを提案しています。
ユーザーが「」(スペース)を入力すると、候補が表示されませんでした。ユーザーが "foo bar
"と入力した場合のように、提案は "foo
"まで表示されますが、ユーザーが ""を入力すると、提案は表示されません。
Ajax呼び出しを確認し、スペースが "%20
"に置き換えられていることを確認しました。スペースのあとでAjaxの各呼び出しに "%20
"が含まれているため、データベースからレコードが取得されないのはこのためです。
スペースを区切り文字として設定しようとしました。区切り文字としてスペースを使用すると、新しいターム(スペースの後に入力したユーザー)の候補が表示されます。空白の後に「foo bar
」と入力すると「bar
」の候補が表示されますが、完全な「foo bar
」という語句の候補が表示されます。
私はスペースを含めてどのようなユーザーが入力したものであっても、完全な期間の提案を表示したいと思います。
これをYUIで処理する方法はありますか?YUIオートコンプリートのスペースを扱う方法
1
A
答えて
1
はgenerateRequest
メソッドをオーバーライドすることでURLをエンコードし、それはあなたがあなたの答えに何かを追加してくださいでき:)
myAutoComp.generateRequest = function(sQuery) {
return "myProject/index.php?query=" + encodeURIComponent(sQuery);
};
0
YUI().use('autocomplete', 'autocomplete-highlighters', function (Y) {
Y.one('#ac-input').plug(Y.Plugin.AutoComplete, {
resultHighlighter: 'phraseMatch',
source: 'your url'
});
});
私にとってはうまくいきます。
私はあなたがクエリをエンコードすべきであることを示唆していた:) – Zlatko
@zladuric:あなたは私に自分自身に答える機会を与えた:) – xyz