JQuery自动完成问题

时间:2010-05-19 11:11:12

标签: javascript jquery autocomplete

我正在使用JQuerys Autocomplete插件,但在输入任何内容时都不会自动完成。

任何想法为什么它不起作用?基本的例子有效,但不是我的。

var ppl = {"ppl":[{"name":"peterpeter", "work":"student"},
     {"name":"piotr","work":"student"}]};

var options = {
    matchContains: true,  // So we can search inside string too
    minChars: 2,      // this sets autocomplete to begin from X characters
    dataType: 'json', 
    parse: function(data) {
        var parsed = [];
        data = data.ppl;
        for (var i = 0; i < data.length; i++) {
            parsed[parsed.length] = {
                data: data[i],  // the entire JSON entry
                value: data[i].name,  // the default display value
                result: data[i].name // to populate the input element 
            };
        }
        return parsed;
    },
    // To format the data returned by the autocompleter for display
    formatItem: function(item) { 
        return item.name; 
    }
};

$('#inputplace').autocomplete(ppl, options);

确定。更新:

<input type="text" id="inputplace" />

因此,在输入字段中输入例如“peter”时。不会显示自动填充建议。它应该给“peterpeter”但没有任何反应。

还有一件事。使用此示例非常有效。

var data = "Core Selectors Attributes Traversing Manipulation CSS Events Effects Ajax Utilities".split(" ");
$("#inputplace").autocomplete(data);

1 个答案:

答案 0 :(得分:3)

好吧,查看该插件中的代码,“parse”选项看起来只有在AJAX调用检索数据时才会调用它。作为实验,您可以尝试传递数据,使其不需要它:

var ppl = [{"name":"peterpeter", "work":"student"},
 {"name":"piotr","work":"student"}];