javascript - jQuery 自动完成 - 如何处理额外数据?

标签 javascript jquery autocomplete

我正在努力解决以下问题。我用 jQuery autocomplete plugin从服务器获取建议值列表。该列表将如下所示:

Username1|UserId1
Username2|UserId2

因此,如果我开始输入“U”,则会得到 "Username1" 的列表和 "Username2"正如预期的那样弹出。我可以选择第一项和 <input>的值将变为 "Username1" ,但我真正想要发送到服务器的是用户 ID。

我能否以某种方式获取用户名后面的 ID?我打算在更改文本框时发布表单。也许我太盲目了,无法在文档中看到它或无法在 Google 上找到它?

最佳答案

使用 autocomplete 插件的 result 方法来处理这个问题。数据作为数组传递给回调,您只需要将 data[1] 保存在某处。像这样:

$("#my_field").autocomplete(...).result(function(event, data, formatted) {
    if (data) {
        $("#the_id").attr("value", data[1]);
    }
});

关于javascript - jQuery 自动完成 - 如何处理额外数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372434/

相关文章:

javascript - 有没有更好的方法来编写这个 jQuery 脚本?

javascript - HttpInterceptor 在拦截器内调用另一个服务并等待响应

javascript - 为什么 apple.com 使用 javascript 动态加载视网膜图像而不是媒体查询?

jquery - 如何使单选按钮在 JQuery UI 折叠面板中工作?

binding - 使用 .live() 绑定(bind) jQuery UI 自动完成

Javascript,打字时自动加载文本框

javascript - AngularJS 中字符串中特定字符的绑定(bind)/建模

jquery - 如何选择仅包含给定类的子项的元素?

javascript - 如何使用 JQuery 从服务器获取二进制数据?

emacs - 我如何在 Emacs 中自动完成 IP 地址?