自动完成和ajax

时间:2011-07-05 13:53:33

标签: jquery jquery-ui jquery-ui-autocomplete

我使用$.getJSON加载字符串数组,以将其用作jquery ui自动完成中的值。我无法让它发挥作用。

代码(正确调用成功函数,我看到警报):

$(function () {
    $.getJSON(baseUri + 'truck/models/', {}, function (data) {
        $("#ModelName").autocomplete({ 
                source: function( request, response ) {
                    alert(data);
                    response(data);
        }
        });
    });
});

服务器返回的内容:

["KIRUNA K350","MAFI","SISU TR180","SISU TRX242","SVETRUCK 32T","VOLVO A25D","VOLVO A25E","VOLVO A40","VOLVO BMl120","VOLVO BML90"]

输入输入框时输入错误:

  

未捕获的TypeError:无法读取未定义的属性'element'

3 个答案:

答案 0 :(得分:1)

看起来你只是在页面加载时对自动完成选项进行ajax提取,所以不需要为你可以做的源使用函数:

$(function () {
    $.getJSON(baseUri + 'truck/models/', {}, function (data) {
        $("#ModelName").autocomplete({ 
                source: data
        });
    });
});

答案 1 :(得分:0)

您必须确保设置对象值

因此

({source:data});

请参阅小提琴,例如:http://jsfiddle.net/dDCEW/

答案 2 :(得分:0)

我有另一个在jQuery上下文中定义menu的插件。我删除了该插件,一切正常。有点讨厌,呵呵?