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

Tom*_*lak 6 javascript jquery autocomplete

我正在努力解决以下问题.我使用jQuery自动完成插件从服务器获取建议值列表.列表看起来像这样:

Username1|UserId1
Username2|UserId2

因此,如果我开始输入"U",则会按预期弹出一个列表"Username1""Username2"弹出.我可以选择第一个项目并且它<input>的值将变为"Username1",但我真正想要发送到服务器的是用户ID.

我可以以某种方式获取跟随用户名的ID吗?我打算在更改文本框时填写表格.也许我太盲目了,无法在文档中看到它或在Google上找到它?

dav*_*avr 6

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

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