如问题所述,我们在项目中使用 JQuery Tagit。我们使用ajax搜索来填充关键字。我们遇到的问题是,如果用鼠标点击搜索结果,它会像描述的那样精确地工作,但如果我们使用键盘导航来选择一个结果,那么下一次ajax搜索就不会在第一次按下关键字时发生(只有在第二次按下关键字后才会生效)。此外,如果我们用鼠标做同样的事情,整个过程都可以很好地进行。我希望我的意思清楚了。请查看以下代码:
$('#tags_3').tagit({
allowSpaces: false,
placeholderText: 'Search Clients',
autocomplete: ({
source: function(request, response) {
// alert(request.term);
$.ajax({
url: '/searchClients',
data: {
format: "json",
keywords: request.term
},
dataType: 'json',
type: 'GET',
success: function(data) {
response($.map(data, function(item) {
return {
label: item.name,
value: item.name
}
}));
},
error: function(request, status, error) {
alert(error);
},
complete: function(request, status, error) {}
})
},
})
});
编辑1:发现文档页面上的问题 我们刚发现这个问题也存在于文档页面中。在第一个示例中,如果您通过键盘选择值之后按下"a",那么在其他按键按下之前,您将无法再次按下"a"。希望有解决此问题的方法..!
非常感谢任何帮助。