JQuery自动完成与JSON初学者的问题

时间:2010-06-29 14:53:39

标签: jquery json autocomplete

我正在使用官方的Jquery Autocomplete插件。我有一个带有广告商列表的ODBC数据库。我目前有一个输入框,用户键入部分名称,我成功返回部分匹配列表。我遇到的问题是我不明白如何返回广告客户的名称和ID。我假设我想使用Jquery函数来调整隐藏字段的值,以便在检索后存储ID。

php文件,用于返回需要修改的广告商名称以返回UsageNumber:

$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代码需要修改以包含处理ID的函数吗?

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

感谢您的时间和帮助。

1 个答案:

答案 0 :(得分: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 ]
 }
});