我正在使用selct2,我正在使用ajax加载一些数据。结果不限,但我必须做无限滚动。一些想法?
我有像这样的json
{"len":30,"data":[{"value":"223118","type":1,"name":"Peter","language":3},
{"value":"223118","type":1,"name":"John","language":2},
{"value":"223118","type":2,"name":"Mike","language":1},
{"value":"223118","type":1,"name":"George","language":3}
....
]}
我正在使用标准的select2功能进行ajac加载:
$( selector ).select2({
placeholder: "Search",
minimumInputLength: 1,
id: function(bond){return {id: bond._id};},
ajax: {
//url: $("#area-of-operating_0").attr('data-url'),
url: 'myurl',
dataType: 'json',
quietMillis: 100,
data: function (term, page) {
return {
page_limit: 10, // page size
page: page // page number
//q: term
};
},
results: function (data, page) {
var more = (page * 10) < data.total;
return {results: data.data, more: more}
}
},
formatResult: selectFormatResult, // see example
formatSelection: selectFormatSelection
})
问题是json可以包含1000个元素。我想用10个元素进行无限滚动
答案 0 :(得分:1)
仅使用demo
中提到的select2
无法做到这一点
为了使远程服务必须支持某种分页机制......
如果服务器端不支持分页,则无法启用无限滚动。
您可以做的是在第一次请求时将整个JSON保存在某个JS变量中。然后,当用户向下滚动时,您可以从局部变量中顺序获取更多结果。这是你的选择吗?