jquery - 如何在分页版本:4时设置jquery select2的选定值?
问题描述
使用分页时,是否有任何选项可以在 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');
任何帮助将不胜感激
解决方案
推荐阅读
- excel - 是否有特定的代码或函数可以将单元格值冻结特定时间,然后在 5 分钟后重新计算?
- html - 登录主页后以角度 6 加载两次
- angular - Angular 7 Bootstrap Modal - 显示动态内容
- svg - SVG 剪辑路径可在除 Safari 之外的所有浏览器中使用
- bash - curl:参数列表太长
- git - 来自 SCM 的 Jenkins 管道 -> 始终完成重建
- java - 遍历 ArrayList 并将值放入 HashMap 与仅搜索 ArrayList 的时间复杂度
- flutter - 如何在 Flutter 中向 SilverAppBar 添加抽屉?
- java - 显示来自 SQLiteDatabase 的数据时出现 OutOfMemory 错误
- uwp - UWP 控制的 CpuBurner