Есть ли возможность установить выбранное значение в select2 при использовании нумерации страниц?
Без настроек пагинации выбранное значение работает хорошо.
$("#selectId").val('value').trigger("change.select2");
Но пока я пытаюсь сделать это с нумерацией страниц в версия 4, она не работает.
Я заполняю данные select2, используя список.
// init select 2
var pageSize = 10;
jQuery.fn.select2.amd.require(["select2/data/array", "select2/utils"],
function (ArrayData, Utils) {
function CustomData($element, options) {
CustomData.__super__.constructor.call(this, $element, options);
}
Utils.Extend(CustomData, ArrayData);
CustomData.prototype.query = function (params, callback) {
var results = [];
if (params.term && params.term !== '') {
results = _.filter(list, function (e) {
return e.text.toUpperCase().indexOf(params.term.toUpperCase()) >= 0;
});
} else {
results = list;
}
var data = {};
data.results = results.slice((params.page - 1) * pageSize, params.page * pageSize);
data.pagination = {};
data.pagination.more = params.page * pageSize < results.length;
//data.minimumResultsForSearch = list;
callback(data);
};
$("#" + controlId).select2({
ajax: {},
dataAdapter: CustomData
});
});
Различные типы подхода, которые я пробовал до сих пор:
//this is used in version -4
$("#selectId").select2('data', { id: value, text: text });
// Without pagination
$("#selectId").val(value).trigger("change.select2");
or
$("#selectId").val(value).trigger("change");
// For may be older version
$('#selectId').select2('data', {id: value, a_key: text});
//another approach
$("#selectId").val(value);
$("#selectId").select2().trigger('change');
Любая помощь будет оценена