设置jquery的自动完成源的值和显示属性

时间:2011-11-03 12:18:57

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

我有一个远程源,它不返回id和值或标签。如何将其用作jquery自动完成插件的源代码?

1 个答案:

答案 0 :(得分:2)

您应该传递source手动发出AJAX请求的函数,然后对返回的数据执行一些后处理:

source: function(request, response) {
    $.ajax({
        url: url,
        data: request,
        dataType: "json",
        success: function(data) {
            var processedData = $.map(data, function(item) {
                return {
                    value: item._your_property, // Property you want to use for "value"
                    label: item._another_property // Property you want to use for "label"
                }
            });
            response(processedData);
        },
        error: function() {
            response([]);
        }
    });
}

基本上,使用$.map将您返回的数组转换为自动完成小部件支持的对象数组。

有关工作示例,请查看jQueryUI演示页面上的JSONP example