jquery autocomplete - 使用制表符键入提前执行,而不是选择自动完成选项

Smu*_*ger 5 jquery jquery-ui autocomplete jquery-ui-autocomplete

我有一个jquery自动完成类型前置字段.它正常工作并提示我输入值.但是,它需要我点击我想要选择的选项.

如果前面的类型值是1234并且我点击1234它会使用此值运行一些逻辑,请在下面的示例中提醒.

但是,如果我键入1234并按Tab键,则不会选择自动完成选项,因此警报不会触发.如何告诉jquery假设在按Tab键时选择了键入值,而不强制用户从类型提前自动完成中选择一个选项?

我的语法如下:

function callAutocomplete(element) 
{ 
    $(element).autocomplete( 
    { 
        source: "get_sku_codes", 
        messages: 
        { 
            noResults: '', 
            results: function() {} 
        }, 
        select: function( event, ui ) 
        { 
            var selectedObj = ui.item; 
            alert(selectedObj);
        } 
    }); 
}
Run Code Online (Sandbox Code Playgroud)

重申一下,我想1234输入输入字段,按Tab键,必须调用自动完成逻辑,就像我点击了自动完成建议'1234'一样.

可以这样做吗?也许是输入的onchange事件,但是如何调用onchange函数来调用自动完成逻辑呢?

希望有道理.

一如既往地谢谢.

And*_*ker 8

我相信你想要的autoFocus选择:

如果设置为true第一项,则在显示菜单时将自动聚焦.

考虑到这一点,您只需要更改窗口小部件的初始化:

function callAutocomplete(element) 
{ 
    $(element).autocomplete( 
    { 
        source: "get_sku_codes", 
        messages: 
        { 
            noResults: '', 
            results: function() {} 
        }, 
        select: function( event, ui ) 
        { 
            var selectedObj = ui.item; 
            alert(selectedObj);
        },
        autoFocus: true
    }); 
}
Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/WP29E/132/