我有一个自动完成文本框功能,我在流星中使用。 它适用于以下硬编码数据,如:
$(document).ready(function() {
$("#demo-input-facebook-theme").tokenInput(
[{id: 7, name: "Ruby"},{id: 11, name: "Python"},{id: 13, name: "JavaScript"}],
{theme: "facebook"}
);
});
现在,我从数据库MongoDB中获取数据,当我将此数据作为参数传递给自动完成功能时,它不起作用...我还使用了方法JSON.stringify()
。
返回的数据如下:
[{"_id":"ab170916-a44b-49f9-85ef-a34c90fb815d","Namelist_name":"Badminton"},
{"_id":"f768e4ba-b628-4d3f-8da6-0bad31346dcc","Namelist_name":"Biking"},
{"_id":"0bee086b-1785-40c9-9c5d-a39331c875e1","Namelist_name":"Chess"},
{"_id":"4eae1e54-ec60-4578-8052-0bf1bccf13b1","Namelist_name":"Golf"},
{"_id":"a0d2b89e-a2d6-4b30-8e38-779c5a886d49","Namelist_name":"Hiking"},
{"_id":"f3a05456-38d4-40f2-86b1-eddea061fdf0","Namelist_name":"Tennis"},
{"_id":"3669b9a2-3f87-4579-8064-82d627196fcb","Namelist_name":"Walking"},
{"_id":"6ac6497e-82b2-40fe-8b24-152e9f42750d","Namelist_name":"Wine Tasting"},
{"_id":"15a7ca87-aef7-43ab-945b-168647bb59aa","Namelist_name":"Yoga"},
{"_id":"bc40d166-64ef-4e61-85cd-60064dc037cd","Namelist_name":"Zumba"}]
答案 0 :(得分:1)
如果将返回的JSON数据与有效的测试数据进行比较,则存在一个本质区别:您缺少MongoDB JSON结果中的id
字段,而是提供_id
。 id
字段目前是您用于自动填充的jQuery tokenInput插件的硬编码默认设置。
有些人提交了补丁,允许使用tokenValue参数设置不同的密钥。
示例(未经测试)补丁:tokenValue cannot be changed。
答案 1 :(得分:1)
只需使用name关键字更改Namelist_name即可。由于jquery tokeninput使用name作为键 如您的硬编码数据中所述。如果我们从http://loopj.com/jquery-tokeninput/下载jquery tokeninput。我们知道关键字是'name'。
希望这会有所帮助......
答案 2 :(得分:1)
如果您使用自由文本自动填充多个项目,您可能需要查看我创建的这个包: