【问题标题】:Iterate over data to show autocomplete results迭代数据以显示自动完成结果
【发布时间】:2012-04-06 08:40:35
【问题描述】:

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

这是我使用 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
    });

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

【问题讨论】:

    标签: jquery ajax jquery-ui autocomplete


    【解决方案1】:
    $("#query").autocomplete({
            source: "q.php",
            minLength: 2
        }).data("autocomplete")._renderItem = function (ul, item) {
                return $("<li></li>")
                .append("<a>" + item+ "</a>")
                .appendTo(ul);
            };
    

    【讨论】:

      【解决方案2】:

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

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

      预期的数据格式

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

      字符串数组: [“选择1”,“选择2”]

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

      source: "query.php";
      

      让插件完成剩下的工作。

      读取 API:jQuery Autocomplete plugin overview

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

      【讨论】:

        猜你喜欢
        • 2014-02-27
        • 2012-12-19
        • 1970-01-01
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多