【问题标题】:Jquery Autocomplete with JSON beginners questionJquery Autocomplete with JSON 初学者问题
【发布时间】:2011-03-09 16:27:12
【问题描述】:

我正在使用官方的 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
});

感谢您的时间和帮助。

【问题讨论】:

    标签: jquery json autocomplete


    【解决方案1】:

    通过查看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 ]
     }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 2020-11-23
      • 2015-03-16
      • 2012-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多