jQuery UI 自动完成:如何定位下拉菜单



>问题:我必须根据结果的值在小下拉列表中着色。

解决方案:使用"open"事件挂钩循环访问选项并分配颜色。

问题:所以jQuery UI自动完成的文档说打开的事件钩子接收两个参数 - "ui"和"event"。问题是,"ui"只是一个空对象(有人为此提交了错误报告,出色的jQuery UI团队说这不是问题),而"event"只有输入框,而不是生成的下拉列表。此时,我可以从此处选择选项列表的唯一方法是执行以下操作:

$( event.target ).nextUntil("ul.ui-autocomplete").last().next()

这太恶心了。请告诉我有更好的方法吗?

PS:如果有人说"只需使用$('ul.ui-autocomplete')!"你显然从未做过比这更复杂的事情......这并不复杂。

官方文档很糟糕,但经过大量探索,我想通了:

$(event.target).data('autocomplete').menu.element

你在写插件吗?你可以使用 this.element

最新更新