我想要獲得一個簡單的自動完成功能,以基於第三方應用程序提供的用戶名工作。javascript中的簡單自動完成功能
在常規格式的應用程序輸出數據:
"{
"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);
我已經看過Jquery網站上的文檔...我只是覺得我錯過了某些東西或誤解。如果有人能指出我會朝着正確的方向發展,那將是很棒的。
最終目標是輸入用戶名稱的前幾個字母,然後自動完成其餘部分。
隨着價值迴歸,似乎什麼是'json'字符串,嘗試'JSON.parse(數據)',使之與正常的'對象'? – fuyushimoya
我在哪裏可以找到我的代碼?在For循環中? –
當數據從服務返回給您時,請執行以下操作:var response = JSON.parse(data)其中data是從服務返回的數據。這將允許您像正常的JavaScript對象一樣操作json。您將在收到無論何處爲 – jonathanmcdaniel