1

我正在尝试显示自动完成结果。

这是我使用 GET 请求查询脚本时返回的数据

例如,当我查询它“fb”时

它返回我以下数据

 "fb"
 "fbi"
 "fbi most wanted"
 "fbi jobs"
 "fb banners"
 "fbook"
 "fb covers"
 "fbanners"
 "fbisd"
 "fbop"

这是自动完成插件的代码

        $("#query").autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "q.php",
                dataType: "json",
                data: {
                    "q" : request.term
                },
                success: function( data ) {
                response(data[1])
                }
            });
        },
        minLength: 2
    });

它没有显示任何结果。谁能告诉我我哪里错了!

4

2 回答 2

0
$("#query").autocomplete({
        source: "q.php",
        minLength: 2
    }).data("autocomplete")._renderItem = function (ul, item) {
            return $("<li></li>")
            .append("<a>" + item+ "</a>")
            .appendTo(ul);
        };
于 2012-04-06T08:54:29.037 回答
0

如果你使用 jQuery Autocomplete 插件,你为什么要过度复杂化它并自己渲染它?

只需定义一个源脚本并按照自动完成模块的需要提供格式正确的 JSON 响应:

预期数据格式

来自本地数据、url 或回调的数据可以有两种变体:

字符串数组:[ "Choice1", "Choice2" ]

具有标签和值属性的对象数组:[ { label: "Choice1", value: "value1" }, ... ]

source: "query.php";

让插件完成剩下的工作。

阅读 API:jQuery 自动完成插件概述

如果您想做其他事情,只需注册并参加活动即可。

于 2012-04-06T09:15:58.337 回答