javascript - 当用户输入不在自动完成下拉列表中的值时,我需要通知

标签 javascript jquery autocomplete

我使用 jQuery UI 自动完成将数据输入到输入字段中,并通过 ajax 从数据库中提取值。这都是正常的自动完成。

但是,用户可以输入数据库中没有的值,我想知道如何处理它。

我试图避免在字段更改时再次对数据库进行 ajax 调用,以检查数据是否是新的。由于我经常使用自动完成功能,因此我必须编写许多此类检查的代码。

如果我知道数据是新的,我可以让用户选择是否将其添加到数据库或通知他们输入错误。

也许自动完成会发出一条通知,表明用户输入了新值。

或者也许有一种方法可以限制用户只能使用下拉数据。 (我认为这会导致其他问题)

或者也许有人有更好的主意。

相关问题(或者也许我应该单独发布这些问题)

当用户按 Tab 键进入空白字段时,如何触发自动完成功能打开? 将 minLength 的数量设置为零仍然需要用户至少点击向下箭头。

我可以通过编程方式触发下拉菜单吗,例如从向下箭头的图像触发。

谢谢

最佳答案

尝试close事件。 (http://docs.jquery.com/UI/Autocomplete#event-close),如果没有找到任何内容,自动完成功能将关闭。您可能可以查看该事件以了解导致关闭的原因,如果它是 XHR,则应该意味着自动完成由于未找到项目而被关闭。不能保证它会起作用,但可能值得一试。

关于javascript - 当用户输入不在自动完成下拉列表中的值时,我需要通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4170683/

相关文章:

javascript - 使用 Typescript 时,如何从子 Controller 访问父 Controller 中的作用域函数?

javascript - 如何阻止 Safari 用户访问我的网站?

javascript - Bootply 79859 中选择多个缩略图图像问题

javascript - 从toggle()延迟hide()

jQuery 自动完成远程 JSON 数据源不返回数据

php - SQL 如果值类似于多列,则选择该列

javascript - ngrepeat 中的 Angularjs 动态指令

javascript - 如何将 Typescript 枚举的值添加到我的 javascript 函数中?

javascript - 表格行数超过 1000 的最佳 JavaScript 可编辑网格/表格

vb.net - 使用 VB.NET 的 Visual Studio 2010 中枚举类型的 Intellisense 发生了什么?