2011-11-10 38 views
1

我正在使用YUI 2 autocomplete,我有我自己的Web服務,它提供了一些建議。
無論何時用戶輸入「」(空格),都不會顯示建議。如果用戶輸入「foo bar」,則顯示建議直到「foo」,但是一旦用戶輸入「」,則不顯示建議。
我檢查了Ajax調用,發現空間被替換爲「%20」。所以在每個Ajax調用的空間之後,包含「%20」,這就是爲什麼沒有記錄從數據庫中檢索的原因。
我試圖設置空格作爲分隔符。如果我們使用空格作爲分隔符,那麼它會顯示新詞的建議(哪個用戶在空格後鍵入)。就像如果你輸入「foo bar」那麼空格後它會顯示「bar」的建議,而我想要完整的「foo bar」術語的建議。
我想顯示任何用戶輸入的完整術語的建議,包括空間。
有沒有辦法在YUI中處理這個問題?如何處理YUI自動補全中的空間

回答

1

通過重寫generateRequest方法編碼的URL,它的工作:)

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

我正要建議你應該編碼查詢:) – Zlatko

+0

@zladuric:你給了我一個機會回答自己:) – xyz

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

對我來說工作正常。

+0

能否請您講一下你的答案嗎?我不確定它如何處理空間? – xyz

+0

+這是YUI 3,不是嗎? – Zlatko

+0

@zladuric:我認爲My_Boon在談論YUI3。我正在嘗試YUI2。 – xyz