Select2分页与本地数据

时间:2019-06-02 08:40:01

标签: javascript jquery jquery-select2 jquery-select2-4

我正在使用Select2 v4.0.0,并且有一个包含约7k项的列表。当用户单击选择时,将花费几秒钟的时间来打开列表。

作为一种解决方案,我尝试对ajax使用分页,并且效果很好。有关当前使用的代码,请参见下文

$($el).select2({
    ajax: {
        url: _url,
        type: 'POST',
        dataType: 'json',
        delay: 500,
        data: function(params) {
            return {
                term: params.term || '',
                page: params.page || 1
            }
        },
        processResults: function(data, params) {
            var page = params.page || 1;
            return {
                results: data.results,
                pagination: {
                    more:(page * 10) <= data.total_count
                }
            };
        }
    }
});

这里的情况是用户可以添加多达“新行”,并且每行都具有select2字段。因此,大量的ajax请求被发送到服务器(每次用户搜索时,以及当选中该项目时,另一个请求被发送以获取其他一些相关数据的请求),服务器也停止响应,从而导致错误,

  

net :: ERR_EMPTY_RESPONSE

所以我被迫停止使用AJAX。

我一直在寻找这样的解决方案:http://embed.plnkr.co/sUt9zi(我无法使用它,因为它使用的是select2 v3.4.5)。

是否有类似的解决方案可以对从局部变量加载的数据进行分页?或任何解决方法可以更快地打开列表。

任何帮助将不胜感激

0 个答案:

没有答案