2010-06-29 85 views
0

我正在使用官方的Jquery自動完成插件。我有一個包含廣告商列表的ODBC數據庫。我目前有一個輸入框,用戶輸入名稱的一部分,我成功返回部分匹配列表。我遇到的問題是我不知道如何返回廣告客戶的名稱和ID。我假設我會想要使用Jquery函數調整隱藏字段的值,以便在檢索ID後存儲該ID。Jquery自動完成與JSON初學者問題

php文件返回,需要進行修改,以返回UsageNumber以及廣告客戶的名稱:

對於需要進行修改,以包括一個函數來處理ID自動完成
$sql = "SELECT DISTINCT tNAdvertisors.UserName, tNAdvertisors.UsageNumber 
FROM tNAdvertisors 
WHERE (((tNAdvertisors.UserName) Like '$term%'));"; 
$rs=odbc_exec($conn,$sql); 
$a = array(); 
while (odbc_fetch_row($rs)) { 
    $a[] = htmlentities(odbc_result($rs,"UserName")); 
} 
echo json_encode($a); 

當前的jQuery代碼?

$("#single").autocomplete({ 
    source: "ajaxSearchForAdvertiser.php", 
    minLength: 3 
}); 

謝謝你的時間和幫助。

回答

0

從查看autocomplete demo page圖片搜索,您可以嘗試將重要信息合併爲一個字符串,比如ID與數據庫中的廣告客戶名稱(對不起,我無法幫助,因爲我不知道php & SQL不夠好):

1234#Exxon 
2345#BP 
3456#Shell 

然後自動完成腳本將是這樣的:

$("#imageSearch").autocomplete("images.php", { 
formatItem: function(data, i, n, value) { 
    return value.split("#")[1]; // returns just the name for display in the input box 
}, 
formatResult: function(data, value) { 
    var result = value.split('#'); 
    return [ result[0], result[1] ]; // returns [ ID, name ] 
} 
});