[英]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.