我制作了一个进行搜索的API。 api的响应总是一个json文件。响应也包含一些结果汇总。 对于前端部分,我使用Select2.js创建了一个搜索选择栏。 我想在用户选择聚合时更改下拉列表的值(并自动显示它们)。 这些步骤是:
这是我的js代码,查询有效,但select2没有显示新值
$('.SearchQueryBox').select2({
tags: true,
placeholder: 'search something',
minimumInputLength: 3,
ajax: {
url: function (term) {
return '/inspiring_indexes/search/?term=' + term;
},
dataType: 'json',
delay: 50,
cache : true,
processResults: function (data) {
return {
results: data
};
}
}
});
$('.SearchQueryBox').on('select2:select', function (e) {
var input = e.params.data;
$.ajax({
type: 'POST',
url: "/inspiring_indexes/search/",
dataType: 'json',
data: input
}).then(function (output) {
console.log(output);
// manually trigger the `select2:select` event
$('.SearchQueryBox').trigger({
processResults: function (output) {
return {
results: output
};
}
});
});
});