繁体   English   中英

javascript中简单的自动完成功能

[英]Simple auto-completion function in javascript

我正在尝试根据 3rd 方应用程序提供的用户名获得一个简单的自动完成功能。

该应用程序以这种通用格式输出数据:

"{
"UserA":{"IP":"XXX.XXX.XXX.XXX","ConnectTime":"/Date(1435769694510)/","LastAskSource":"","LastAskType":2,"Name":"UserA"},
"UserB":{"IP":"XXX.XXX.XXX.XXX","ConnectTime":"/Date(1435769694510)/","LastAskSource":"","LastAskType":2,"Name":"UserB"},
"UserC":{"IP":"XXX.XXX.XXX.XXX","ConnectTime":"/Date(1435769694510)/","LastAskSource":"","LastAskType":2,"Name":"UserC"}
}"

现在,我想使用下面列出的通用自动完成功能:

$("#chatEntryBox").autocomplete({
    source: usersOnline.Name
});

我已将数组定义为:

OnlineUsers = data.userinfo;

for (var i in OnlineUsers) {
  var user = OnlineUsers[i];
  usersOnline = $.map(OnlineUsers, function(el) { return el; })
}

现在,上面的这部分按照我期望的方式工作。 我可以通过执行JSON.stringify(usersOnline[0].Name);在控制台中测试数组的值是什么JSON.stringify(usersOnline[0].Name);

我已经查看了 Jquery 网站上的文档......我只是觉得我遗漏了一些东西或误解。 如果有人能指出我正确的方向,那就太好了。

最终目标是输入用户名的前几个字母,然后自动完成其余部分。

我在这里为您的问题制作了一个小提琴。

从 json 中取出名称的循环可以像这样简单

var usersOnline = $.map(input, function(el) { return el.Name; })

$( "#chatEntryBox" ).autocomplete({
    source: usersOnline
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM