javascript – 在Select2中获取和缓存结果

前端之家收集整理的这篇文章主要介绍了javascript – 在Select2中获取和缓存结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序使用select2来显示通过Ajax调用检索的名称列表.
它使用select2 ajax功能.

但是问题在于,每当我在select2输入上键入时,select2都会提取项目.
我不想每次用户输入时都提取.我想在初始加载select2时获取项目,然后使用相同的数据,即使他们输入select2输入.

我该如何实现?

PS:我在Ajax中看到缓存标志,但是我认为它基于URL缓存结果.
用户在select2输入上键入时,它不会停止提取数据.

解决方法

使用ajax选择2加载数据,缓存就地.
$("#selIUT").select2({
            cacheDataSource: [],placeholder: "Please enter the name",query: function(query) {
                self = this;
                var key = query.term;
                var cachedData = self.cacheDataSource[key];

                if(cachedData) {
                    query.callback({results: cachedData.result});
                    return;
                } else {
                    $.ajax({
                      url: '/ajax/suggest/',data: { q : query.term },dataType: 'json',type: 'GET',success: function(data) {
                        self.cacheDataSource[key] = data;
                        query.callback({results: data.result});
                      }
                    })
                }
            },width: '250px',formatResult: formatResult,formatSelection: formatSelection,dropdownCssClass: "bigdrop",escapeMarkup: function (m) { return m; } 
        });

我希望你觉得有帮助.

原文链接:https://www.f2er.com/js/153043.html

猜你在找的JavaScript相关文章