SELECT2为空结果

时间:2013-07-09 09:55:28

标签: ajax jquery-select2

我正在创建一个简单的select2搜索框,其中包含对php页面的远程请求。

我选择使用“json”而不是“jsonp”,它似乎正常工作。

问题是结果是白色的:没有写入元素列表。

在我无法发布的图片中,因为“我需要发布至少10个声望”... - .- 您可以在输入框中看到字母“d”和:

  1. 没有加载图标(因为搜索已正确结束)
  2. 没有“搜索”写(因为搜索已正确结束)
  3. 搜索框高度恰好是2个结果,您可以选择结果,但文本是不可见的..您只看到蓝色选择..

  4. 代码如下:

    function MultiAjaxAutoComplete(element, url) {
        $(element).select2({
            minimumInputLength: 1,
            ajax: {
                url: url,
                dataType: 'json',
                data: function(term, page) {
    
                    return {
                        q: term,
                        page_limit: 10
                    };
                },
                results: function(data, page) {
                    return {
                        results: data
                    };
                }
            },
            formatResult: formatResult,
            formatSelection: formatSelection,
            initSelection: function(element, callback) {
                var data = [];
                $(element.val().split(",")).each(function(i) {
                    var item = this.split(':');
                    data.push({
                        id: item[0],
                        title: item[1]
                    });
                });
                //$(element).val('');
                callback(data);
            }
        });
    };
    
    function formatResult(movie) {
        return '<div>' + movie.title + '</div>';
    };
    
    function formatSelection(data) {
        return data.title;
    };
    
    
    
    MultiAjaxAutoComplete('#advertiser', '/AJAXController');
    

    并返回的json数据如下

    [{"id":"12889","title":"Donnie Darko" },
     {"id":"8",    "title":"Another title"}
    ]
    

    PS:我得到了两个结果,因为此刻,我将json数据作为直接输出文本返回“echo&lt;&lt;&lt;&lt; EOF ...”

    谢谢你, 莫罗

1 个答案:

答案 0 :(得分:0)

var data = [
  { "id":"12889", "title":"Donnie Darko" },
  { "id":"8", "title":"Another title"}
]

$(element).select2('data', data);