4

所以我有一个 select2 ajax 选择器,在不使用 multiple 时可以完美运行,但是当我使用 multiple 时,它​​基本上有时可以正常工作,而其他情况则不能。

    $('#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"}]}

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

有人有想法么?

4

1 回答 1

6

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

{"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"
    }
});
于 2012-11-29T22:01:17.390 回答