2010-06-29 21 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 ] 
} 
});