【发布时间】:2016-08-23 19:42:43
【问题描述】:
我已经为输入配置了自动完成功能,延迟选项设置为 0,自动对焦设置为 true。来源:自动完成设置为 AJAX 调用。通常情况下,如果用户输入搜索字符串并在字段外使用制表符,则会选择第一项。
但是,如果有经验的用户输入的搜索字符串应该只有一个匹配项并且非常快 选项卡在输入之外,则 select 选项指定的函数不会触发,并且输入只包含用户输入的搜索字符串。这会在提交表单时导致错误,因为尚未进行有效选择(通常,选择匹配项会将隐藏的表单字段设置为所选匹配项的值)。
如果我在 source 选项指定的函数中放置一个断点来检索匹配项,我可以看到它被调用,并返回一个匹配项列表。但是,我在 select 选项指定的函数中放置的断点在我快速跳出时永远不会命中。
当针对 localhost 或远程网络服务器运行时,我可以在 Chrome 和 IE 11 中重现此行为。 jquery-ui版本为v1.11.4。
问题:是否可以将自动完成配置为 - 始终 - 如果用户输入搜索字符串并从输入中跳出标签,则无论多快都选择第一个返回的匹配项?
【问题讨论】:
-
你能提供一个工作演示吗?
-
我可以直接在 jQuery UI 演示中重现 -- jqueryui.com/autocomplete。只需输入一个字符并快速离开。如果你足够快,你会发现匹配列表不会出现。
-
嗨,你有没有找到任何解决方案?
标签: jquery jquery-ui jquery-ui-autocomplete