如何在YUI自动完成中处理空间

时间:2011-11-10 09:22:48

标签: javascript autocomplete yui

我正在使用YUI 2 autocomplete,我有自己的网络服务提供建议 每当用户输入“”(空格)时,就不会显示建议。就像用户输入“foo bar”一样,建议显示到“foo”,但一旦用户输入“”,则不显示建议。
我检查了Ajax调用并观察到空格被“%20”替换。因此,在空格之后,每个Ajax调用都包含“%20”,这就是为什么没有从数据库中检索记录的原因 我尝试将空间设置为分隔符。如果我们使用空格作为分隔符,那么它将显示新术语的建议(用户在空格后键入)。就像您输入“foo bar”一样,在空格后它会显示“bar”的建议,而我想要完整的“foo bar”字词的建议。
我希望显示完整术语的建议,无论用户输入什么,包括空格 有没有办法在YUI中处理这个?

2 个答案:

答案 0 :(得分:1)

通过覆盖generateRequest方法编码的URL并且它可以工作:)

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

答案 1 :(得分:0)

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

它适用于我。