Javascript jquery ui自动完成自动对焦,首先使用category元素

Javascript jquery ui自动完成自动对焦,首先使用category元素,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,我试图在使用类别时选择jquery自动完成中的第一项。现在,我的菜单如下所示: [category] <- autofocus selects this one [item1] <- autofocus should select this one [item2] [item3] [category] [item4] [item5] etc. [category]由于它仍然是一个输入元素,您可以在自动完成上调用val方法来设置其值 由于您希望将值设置为数据对象中的第一个元素,

我试图在使用类别时选择jquery自动完成中的第一项。现在,我的菜单如下所示:

[category] <- autofocus selects this one
[item1]    <- autofocus should select this one
[item2]
[item3]
[category]
[item4]
[item5]
etc.

[category]由于它仍然是一个输入元素,您可以在自动完成上调用
val
方法来设置其值

由于您希望将值设置为
数据
对象中的第一个元素,只需执行以下操作即可

$( "#search" ).autocomplete({ /* ... */ })
.val(data[0].label)
// ...
您的小提琴:

找到:

回答:奥雷蒂姆

这使得jQuery1.11中的类别不可选择*

$.extend($.ui.menu.prototype.options, {
    items: "> :not(.ui-autocomplete-category)"
});

你能上传一些代码吗?或者JSFIDLE?您可以触发
select
事件,并在
open
上显示所需字段。不过,这不会禁用格式不正确的项目:添加了jsfidle以显示问题,因为您可以看到类别是可选择的,并且在jQuery1.11中通过autoFocus进行选择。如果我使用jQuery1.9,它可以像我想要的那样工作,类别是不可选择的,autofocus=选择第一个真实的项目,如果fidle是我问题的真实表示,则该项目将为真。现在的问题是,在jQuery1.11中,categories=是可选择的,而在jQuery1.10中它们不是。。。