【发布时间】:2020-02-28 18:09:19
【问题描述】:
我有一个旧的 Web 应用程序,它已经使用 select2 v3.3.1 并由 jQuery 1.8.2 提供支持。我实现了 select2 分页,但得到“错误:当附加到元素时,Select2 不允许使用选项 'ajax'。”在控制台中。我将 select2 v3.3.1 与 select2 v4.0.11 交换,数据从 PHP 脚本返回,但未显示在 select 元素上。
我的问题是:选择选项是否因为 jQuery 版本而未显示,如果是,我如何使用 noConflict 来解决它,或者可以使用多个版本的 select2 来纠正它。
示例代码:
$('.search-diagnosis').select2({
placeholder: 'Select an item',
minimumInputLength: 5,
ajax: {
url: 'path/to/php/script',
dataType: 'json',
delay: 250,
data: function (params) {
return {
search: params.term, // search term
page: params.page || 1,
page_limit: 100
};
},
processResults: function (data, params) {
params.page = params.page || 1;
return {
results: data.results,
pagination: {
more: (params.page * 100) < data.total_count
}
};
},
cache: true
}
});
-------------------
Sample return data:
-------------------
{
"results": [
{
"id": "5039",
"text": "MALARIA"
},
{
"id": "8957",
"text": "MALARIA AND ACUTE RTI"
},
{
"id": "8952",
"text": "MALARIA AND BRONCHITIS"
},
{
"id": "9027",
"text": "MALARIA AND DIARRHOEA"
},
{
"id": "5043",
"text": "MALARIA AND ENTERIC FEVER"
},
],
"total_count": 5
}
【问题讨论】:
-
我已经能够按照stackoverflow.com/questions/33962395/… 中的方法使 Select2 的 2 个版本工作,但是虽然旧的 Select2 元素工作正常,但 Select2 分页仍然没有显示获取的数据。
标签: jquery select jquery-select2 jquery-select2-4