Jquery 在字段中按Enter键时,从Typeahead.js中选择第一个建议

Jquery 在字段中按Enter键时,从Typeahead.js中选择第一个建议,jquery,twitter-bootstrap-3,typeahead.js,Jquery,Twitter Bootstrap 3,Typeahead.js,我想从Typeahead.js suggestion items中选择第一个可用的建议,当我专注于该字段时按Enter键 我现在得到了这个密码: $('#cities-prefetch .typeahead').on('keyup', function(e) { if(e.which == 13) { var value = $('input:text#city').typeahead('val'); } }); 但这仅从字段本身的中获取当前选定的值 请帮忙 如

我想从Typeahead.js suggestion items中选择第一个可用的建议,当我专注于该字段时按Enter键

我现在得到了这个密码:

$('#cities-prefetch .typeahead').on('keyup', function(e) {
    if(e.which == 13) {
        var value = $('input:text#city').typeahead('val');
    }
});
但这仅从字段本身的中获取当前选定的值


请帮忙

如果按Enter键,您可以触发对第一个建议的
单击

$('#cities-prefetch .typeahead').on('keyup', function(e) {
    if(e.which == 13) {
        $(".tt-suggestion:first-child", this).trigger('click');
    }
});

请参见typeahead.js 0.11.1中的

,这似乎对我很有用

$(element).on('keyup', function(e) {
    if(e.which == 13) {
        e.preventDefault();
        //find the selectable item under the input, if any:
        var selectables = $(element).siblings(".tt-menu").find(".tt-selectable");
        if (selectables.length > 0){
             $(selectables[0]).trigger('click');    
        } 
    }
});

您可以使用
autoselect
–如果
true
,则按下Enter键后,typeahead将自动选择第一个建议。默认值为
false

这在我的情况下奏效了

$('[id$=_form]').on('keydown', '.twitter-typeahead #input_id', function(e) {
    if(e.which == 13) {
        e.preventDefault();
        $('.tt-selectable').first().click();
    }
});

现在是。推特提前输入不是。提前输入。对于需要使用此功能的用户。如果您的typeahead位于表单中,则它将提交表单,而不是执行keyup事件。我的解决方案是触发点击表单提交。这对我不起作用。它只是跳转到下一个inputI,我必须使用页面上方的class/id来调用keyup函数。我使用了Bootstrap.row类-
$('.row')。在('keyup',函数(e){
。可能对某人有所帮助…-自动选择typeahead结果中的第一项选项此选项似乎不起作用。
$('[id$=_form]').on('keydown', '.twitter-typeahead #input_id', function(e) {
    if(e.which == 13) {
        e.preventDefault();
        $('.tt-selectable').first().click();
    }
});