我正在使用 select2 插件,我需要使用传输函数自己执行 ajax 请求,因为我需要在请求标头中设置 API 密钥。但只要我这样做,select2 就会正确响应结果,并且会按我想要的方式格式化和显示它,但显示的结果是不可选择的。我既不能点击它们,也不能用箭头键导航到它们,当我用鼠标越过它们时也没有任何鼠标悬停效果。
这是一些代码(我想显示用户名的建议):
ajax: {
data: function (term, page) {
return {
Searchtext: term
};
},
transport: function(queryParams){
// Api.Ajax delivers { Ajax: *the $.ajax object*, RequestId: *some requestId* }
var req = Api.Ajax("/api/suggestion/share/" + queryParams.data.Searchtext, "POST", { UserOnly: true }, queryParams.success);
return req.Ajax;
},
// parse the results into the format expected by Select2.
results: function(resp, page) {
return {
results: resp.Data,
more: false
};
}
},
就像我说的,只要我通过实现传输功能使用自己的 Ajax 功能,下拉列表中的结果都会显示出来,但不能选择。
这是一个错误,还是我做错了什么?