【问题标题】:jquery autocomplete doesn't work?jquery自动完成不起作用?
【发布时间】:2011-08-13 01:31:32
【问题描述】:

我想为远程数据源自动完成,我从数据库中获取所有数据并将其作为 jSon 返回,使用控制台我看到所有数据都已返回,但自动完成不起作用,我的代码中也有警报不起作用,这是我的代码

$("#cellPhoneNo").autocomplete({

    source: function(request, response) {
        var param = {
            "action": "getCellPhoneNos"
        };
        $.getJSON("controllers/Customer.controller.php", param, function(result) {
            alert('here'); //doesn't alert
            //  cellPhoneSource=result;
        });
    },
    select: function(event, ui) {
        alert('response');
    }

});

编辑

我尝试使用 GET 获取源代码,我这样做

source:function(request,response){
            var param= {"action":"getCellPhoneNos"};
            $.ajax({
            type: "GET",
            url: "controllers/Customer.controller.php",
            data: param,
            success: function(result){
            alert('success');
            }

            });
            },

它会发出警报,但自动完成功能不起作用,我尝试将值放在文本文件中并将文件放在 url 中,自动完成功能有效!!

有什么解释吗?!

【问题讨论】:

  • 您使用哪个自动完成 jquery 插件?把网址放在这里。
  • 我推荐使用this one
  • 你为什么不使用 jQuery UI 中的那个?!
  • 我正在使用来自 jQuery UI 版本 jquery-ui-1.8.14.custom.min 的自动完成器
  • @Tomas:错误修复和持续的社区支持。

标签: php jquery json autocomplete


【解决方案1】:

http://net.tutsplus.com/tutorials/javascript-ajax/how-to-use-the-jquery-ui-autocomplete-widget/

这是一个使用自动完成插件的教程。回调中的 response 变量是一个函数,您可以调用该函数将一组项目添加到自动完成列表中。解析result并将每一项推入一个数组,然后调用response(array);如果结果已经是一个数组,你可以调用response(result);

【讨论】:

    【解决方案2】:

    我注意到在成功函数中您没有从 ajax 查询返回结果,这可能是个问题吗?

    source : function(request,response) {
         var param= {"action":"getCellPhoneNos"};
         var source = 'nothing came back from the server';
    
         $.ajax({
              type: "GET",
              url: "controllers/Customer.controller.php",
              data: param,
              datatype: 'json'
              success: function(result) {
    
                if(result !== undefined) {
                     source = result;
                }
                alert(source);
                return source;
              }
    
         });
    },
    

    【讨论】:

    • 'return source' 导致错误是'source is not defined [Break On This Error] return source; '。
    • 将数据类型:'json' 添加到 ajax 设置
    猜你喜欢
    • 2012-11-02
    • 1970-01-01
    • 2015-06-08
    • 2014-04-28
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多