У меня есть набор данных с более чем 15 тыс. Записей, и я хочу загрузить его в раскрывающийся список с помощью поиска на стороне сервера и множественного выбора.Для этого я использовал плагин select2, но у меня возникли проблемы с поиском, и есть также проблемы с производительностью.
см. Код, который я использовал, это правильный способ загрузки большого набора данных иесть другие решения?
$('#group_admins').select2({
ajax: {
url: site_url + 'Membership_Groups/load_group_admins',
},
placeholder: 'search',
multiple: true,
// query with pagination
query: function (q) {
var pageSize,
results,
that = this;
pageSize = 20; // or whatever pagesize
results = [];
if (q.term && q.term !== '') {
// HEADS UP; for the _.filter function i use underscore (actually lo-dash) here
results = _.filter(that.data, function (e) {
return e.text.toUpperCase().indexOf(q.term.toUpperCase()) >= 0;
});
} else if (q.term === '') {
results = that.data;
}
q.callback({
results: results.slice((q.page - 1) * pageSize, q.page * pageSize),
more: results.length >= q.page * pageSize,
});
},
});