正如问题中提到的,我们在项目中使用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:问题也在文档页面上找到

我们只是发现文档page中也存在此问题。在第一个示例中,如果您按下“ a”然后通过键盘选择值,那么您将无法再次按下“ a”,直到再次按下其他键。希望对此有解决方案。

任何帮助将非常感激。

最佳答案

好吧,这是一个已知的错误,我想已经在其错误页面here上进行了报告。但是,tag-it很受欢迎,并且在类似的生产线上有许多解决方案可用。您可以研究的其他解决方案很少:


http://webspirited.com/tagit/
https://github.com/Nikku/jquery-tagit


可能您可以研究其中一种,直到错误没有解决。

09-25 16:48