jQuery自动完成插件到jQuery UI自动完成

时间:2011-10-20 09:54:48

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

我使用维基百科的API进行简单的维基百科自动填充。

目前它正在使用jQuery自动完成插件,我想使用jQuery UI。

有人可以指导我吗?

以下是使用该插件的工作演示的小提琴: http://jsfiddle.net/VjLnv/

这是JS:

function attachWikiAutoComplete(expression) {
    $("#artist").autocomplete("http://en.wikipedia.org/w/api.php",  {
        dataType: "jsonp", 
        parse: function(data) { 
            var rows = new Array(); 
            var matches = data[1];
            for( var i = 0; i < matches.length; i++){ 
                rows[i] = { data:matches[i], value:matches[i], result:matches[i] }; 
            } 
            return rows;
        },
        formatItem: function(row) { return row; }, 
        extraParams: {
            action: "opensearch", 
            format: "json", 
            search: function () { return $("#artist").val() } }, 
        max: 10 
    });
}

非常感谢

1 个答案:

答案 0 :(得分:8)

这是jQueryUI自动完成中的等效代码:

$("#artist").autocomplete({
    source: function(request, response) {
        $.ajax({
            url: "http://en.wikipedia.org/w/api.php",
            dataType: "jsonp",
            data: {
                'action': "opensearch",
                'format': "json",
                'search': request.term
            },
            success: function(data) {
                response(data[1]);
            }
        });
    }
});

工作示例: http://jsfiddle.net/UGYzW/2/