Select2 AJAX Multiple无法正常工作

时间:2012-11-28 02:43:58

标签: php jquery jquery-select2

所以我有一个select2 ajax选择器,当不使用多个时可以很好地工作,但是当我使用多个时,它基本上有时它有效,有些则不然。

    $('#organizations').select2(
    {
        placeholder: "Add Organizations!",
        minimumInputLength: 3,
        multiple: true,
        ajax: {
            url: "https://boilerprojects.com/organizations/search",
            dataType: 'json',
            quietMillis: 100,
            data: function (term, page) {
                return {
                q: term, // search term
                page_limit: 10
                };
            },
            results: function (data, page)
            {
                var more = (page * 10) < data.total;
                console.log(data.results);
                return { results: data.results, more: more };
            },
            dropdownCssClass: "bigdrop"
        },
    });

我的PHP返回的是:{"results":[{"id":"6","text":"LukePOLO"}]}

所以我得到的结果只是没有填充。

有人有什么想法吗?

1 个答案:

答案 0 :(得分:5)

如果您想使用无限滚动选项,那么您的回答是错误的。

{"results":[{"id":"6","text":"LukePOLO"}]}

应该是这样的:

{"results":[{"id":"6","text":"LukePOLO"}], "total":"1"} //Total 1 result

您有关键结果,但没有总计的密钥。在你的帖子数据功能中,你也应该说你搜索的女巫页面。

$('#organizations').select2(
{
    placeholder: "Add Organizations!",
    minimumInputLength: 3,
    multiple: true,
    ajax: {
        url: "https://boilerprojects.com/organizations/search",
        dataType: 'json',
        quietMillis: 100,
        data: function (term, page) {
            return {
            q: term, 
            page_limit: 10,
            page: page //you need to send page number or your script do not know witch results to skip
            };
        },
        results: function (data, page)
        {
            var more = (page * 10) < data.total;
            return { results: data.results, more: more };
        },
        dropdownCssClass: "bigdrop"
    }
});