我有一个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);
}
});
}
要重申,我想在输入字段中键入1234
,按Tab键,必须调用自动完成逻辑,就像我点击了自动完成建议'1234'一样。
可以这样做吗?也许是输入的onchange事件,但是如何调用onchange函数来调用自动完成逻辑呢?
希望这是有道理的。
一如既往地谢谢。
答案 0 :(得分: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
});
}