这应该很简单,但是 StackOverflow 中的所有解决方案似乎都不适合我......
使用 jQuery 2.1.0,我使用 Ajax 源、autoFocus: true 和一个 select: function (event, ui) { ... } 设置了一个自动完成功能,为我提供键/值对组合。
一旦我开始在输入字段中输入,我就会得到作为 DDL 的正确选项,然后我可以使用鼠标进行选择。
但是,我现在想以编程方式触发自动完成搜索,然后选择第一个选项(如果可用)。
我像这样触发搜索:
Preparer.autocomplete('search', LoginName);
可用选项正确显示,但我似乎无法以编程方式选择第一个!
我尝试调用 .select(),我尝试在控件中触发按键 13 和 9,甚至尝试在 setTimeout 函数中执行操作以确保正确呈现对话框!
我什至尝试设置选项 { selectFirst: true },但仍然没有......
还有什么我可以尝试的吗??
最佳答案
正如上面的评论:
您可以触发对第一个菜单项的点击:
$("#autocomplete-id").data("ui-autocomplete").menu.element.children().first().click()
请记住:触发选择也会关闭菜单,这似乎违反直觉。最好截取
source
中的数据并在那里触发您的自定义回调,而不用打扰 select
根本。
关于jquery-ui - jQuery 自动完成以编程方式搜索和选择第一选择(如果有),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39998352/