2012-02-02 39 views
0

我有非常簡單的形式從searchAlbum.php獲取JSON格式的值。它在我開始輸入內容時起作用,但它不會過濾結果,例如,即使我輸入ab,它也會顯示123可用。自動完成不會篩選結果當我打字

這是我的saerchAlbum.php正在恢復

["123","abc"] 

這是我的Java Script代碼

$(document).ready(function(){ 
       $('.albumName').autocomplete({ 
        source: 'searchAlbum.php' 
       }); 
}); 

你可能會說,這不應該過濾我resoulds,我需要通過我的輸入爲paramater但爲什麼然後this在jquery-ui頁上檢查這對我來說?

+1

你認爲這是服務器端代碼的問題,而不是jQuery? – 2012-02-02 09:11:10

回答

0

該文檔不清楚,但唯一一次autocompleter爲您進行篩選時,您的代碼根本沒有被調用(例如,您已將它作爲source的數組)。當你的代碼被調用時(無論是客戶端代碼,因爲你已經爲source提供了一個函數,或者因爲你提供了一個URL,所以服務器端代碼),你的代碼需要進行過濾。

你可能會說它不應該過濾我的答案,我需要通過我的輸入作爲參數,但爲什麼然後這個jquery-ui頁上的檢查爲我做?

因爲search.php頁的例子調用過濾基礎上,term參數autocompleter傳遞給它的結果。比較你從這些得到的結果:

http://jqueryui.com/demos/autocomplete/search.php?term=ti

http://jqueryui.com/demos/autocomplete/search.php?term=ro

你可以看到,它的過濾服務器端。

+0

謝謝,解決了我的問題 – sed 2012-02-02 09:15:30

0

js發送名爲「term」的查詢字符串參數,您的php代碼需要通過過濾與「term」參數匹配的現有數據來返回數據。

0

這不是Javascript或jQuery問題,而是PHP問題。正如鏈接的jQuery-UI頁面所述,源腳本必須通過GET請求處理「term」屬性。