Typeahead - 在Enter上插入自动完成结果

时间:2016-02-16 07:06:00

标签: jquery twitter autocomplete typeahead.js

当用户键入预先输入字段然后按Enter键时,将提交表单。这不是非常直观,因为用户不希望对表单进行总结,而是将自动完成结果插入到预先输入字段中。

我需要按以下方式在Enter上修改详细信息Typeahead行为:

不提交表格; 将建议菜单中的第一个自动完成项目插入到预先输入字段; 关闭Typeahead建议菜单。 浏览互联网后,我发现了以下内容:

$(document).on('keypress', '#typeahead', function(e) {
    if(e.keyCode == 13) {            
        e.preventDefault();
        var selectables = $('#typeahead').siblings(".tt-menu").find(".tt-selectable");
        if (selectables.length > 0){
             $(selectables[0]).trigger('click');    
        }
        $('#typeahead').typeahead('close');            
    }
});

这几乎可行,但Typeahead建议菜单未关闭。

你能帮助我理解为什么$('#typeahead').typeahead('close');不起作用吗?还是有一些更优雅的解决方案?

0 个答案:

没有答案