如何解决当数据库中没有数据时,Select2 AJAX不显示“找不到数据”,而是显示搜索参数作为选择选项
我一直在研究一个项目,该项目需要从ajax调用中加载select2选项。
代码工作正常,除了搜索结果外,它始终将搜索参数显示为选项。即使数据库中没有数据,它仍将其显示为选项,而不显示“未找到数据”。
我的代码在这里
$(".search_user").select2({
minimumInputLength: 11,tags: [],ajax: {
url: "/user/get_user",dataType: 'json',type: "GET",quietMillis: 250,data: function (term) {
return {
term: term
};
},processResults: function (data) {
var Return = [];
for (var i in data.item) {
console.log(data.item[i])
if (data.item[i].id != data.item[i].text) {
Return.push(data.item[i]);
}
}
return {
results: Return
}
}
}
});
我的返回json就是这样
{"item":[{"id":16,"name":"Razin Abid"}]}
我的视图看起来像这样。
请帮帮我。
解决方法
如果您在stisla上使用Firemodal
$('#modal-create-promo').click(()=>{
setTimeout(()=>{
$('#fire-modal-1').removeAttr('tabindex');
});
});
$("#modal-create-promo").fireModal({
...
});
这对我有用
,那是因为您启用了 select2 中的标签选项。您需要从代码中删除“标签:[]”。
访问:https://select2.org/tagging
所以,你的代码应该是这样的:
$(".search_user").select2({
minimumInputLength: 11,ajax: {
url: "/user/get_user",dataType: 'json',type: "GET",quietMillis: 250,data: function (term) {
return {
term: term
};
},processResults: function (data) {
var Return = [];
for (var i in data.item) {
console.log(data.item[i])
if (data.item[i].id != data.item[i].text) {
Return.push(data.item[i]);
}
}
return {
results: Return
}
}
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。