这让我有点疯狂。
我精通获得单个Ajax请求/自动完成功能。
但是,现在我正在努力获得多列结果。 我正在组合:JQuery自动填充示例中的Autocomplete Remote和Custom Display.。
json_encoded
数组返回一个字符串,如下所示:
A)
[
{"value":"myvalue1","label":"mylabel1","desc":"mydescription1"},
{"value":"myvalue2","label":"mylabel2","desc":"mydescription2"}
]
自动完成遥控器显示不同的格式。 应该是:
b)中
[
{value:"myvalue1",label:"mylabel1",desc:"mydescription1"},
{value:"myvalue2",label:"mylabel2",desc:"mydescription2"}
]
哪种格式正确 - a或b?我希望“a”,因为它需要更少的代码。
谢谢!
答案 0 :(得分:1)
我认为正确的版本是第一个,A,第二个不是有效的JSON,因为它没有通过validation。您必须将"
放在键/属性
例如,这是从jQuery demo返回的json:
[
{
"id": "Coccothraustes coccothraustes",
"label": "Hawfinch",
"value": "Hawfinch"
},
{
"id": "Accipiter gentilis",
"label": "Northern Goshawk",
"value": "Northern Goshawk"
},
{
"id": "Accipiter nisus",
"label": "Eurasian Sparrow Hawk",
"value": "Eurasian Sparrow Hawk"
},
{
"id": "Surnia ulula",
"label": "Northern Hawk Owl",
"value": "Northern Hawk Owl"
}
]
答案 1 :(得分:1)
您应该在键/属性周围加上引号
建议{p>{"foo":"bar"}
超过{foo:"bar"}
http://ejohn.org/blog/the-state-of-json/
http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/
答案 2 :(得分:-1)
如果您希望插件执行类似obj.value
或obj.label