Select2 TypeError:data.results未定义

时间:2013-11-29 11:54:08

标签: javascript jquery-select2

我试图使用Select2来使用ajax / json加载远程数据,但我一直收到错误:

  

TypeError:data.results未定义

我的代码是:

$('#tags').select2({
                ajax: {
                    url: 'http://localhost:8090/getallusers',
                    dataType: 'json',
                    quietMillis: 100,
                    data: function (term) {
                        return {
                            term: term
                        };
                    },
                    results: function (data) {
                        return data;
                        }

                    }

            });

我真的不明白这个问题!

1 个答案:

答案 0 :(得分:18)

Select2需要将结果作为具有id:和text:attributes。

的对象的集合

像:

  

[{'id':1,'text':'Demo'},{'id':2,'text':'Demo 2'}]

尝试重新格式化您的回复,如:

$('#tags').select2({
    ajax: {
        url: 'http://localhost:8090/getallusers',
        dataType: 'json',
        quietMillis: 100,
        data: function (term) {
            return {
                term: term
            };
        },
        results: function (data) {
            var myResults = [];
            $.each(data, function (index, item) {
                myResults.push({
                    'id': item.id,
                    'text': item.first_name + " " + item.last_name
                });
            });
            return {
                results: myResults
            };
        }
    }
});