这应该是非常简单的,但StackOverflow中的解决方案似乎都不适合我......
使用jQuery 2.1.0,我使用Ajax源设置自动完成,autoFocus:true,以及select:function(event,ui){...},为我提供键/值对组合。
一旦我开始输入输入字段,我就会得到正确的DDL选项,然后我可以用鼠标选择。
但是,我现在想以编程方式触发自动完成搜索,然后选择第一个选项(如果可用)。
我触发了这样的搜索:
Preparer.autocomplete('search', LoginName);
可用的选项显示正确,但我似乎无法以编程方式选择第一个!
我尝试调用.select(),我尝试在控件中触发按键13和9,甚至尝试在setTimeout函数中执行操作以确保对话框已正确呈现!
我甚至尝试设置选项{selectFirst:true},但仍然没有...
还有什么我可以尝试的吗?
答案 0 :(得分:2)
如上面的评论:
您可以触发第一个菜单项的点击:
$("#autocomplete-id").data("ui-autocomplete").menu.element.children().first().click()
请记住:触发选择也会关闭菜单,这似乎违反直觉。拦截source
中的数据并在那里触发您的自定义回调最好,而不必费心去处理select
。
答案 1 :(得分:0)
搜索
$('#autocomplete-id').data("uiAutocomplete").search($("#autocomplete-id").val());
& 选择
var results = $("#autocomplete-id").data("ui-autocomplete").menu.element.children()
.first().click()