我是 jQuery 中 JSON 解析的完全菜鸟。以为我得到了回应......我的数据是这种形式:
Array(
[1]=>abc,
[3]=>mango,
[4]=>apple,
[5]=>fruits
)
通过这种方式,我希望此列表显示为自动完成列表。我正在使用。
jQuery("#name").autocomplete( '<?php echo HTTP_PATH.'/songs/sss'; ?>', {
multiple: true,
mustMatch: true,
matchContains: true,
autoFill: false,
dataType: "json",
parse: function(data) {
return jQuery.map(data, function(item) {
return { data: item, value: item.label, result: item.label};
});
},
formatItem: function(item) {
return item.label;
},
formatResult: function(item) {
return item.id;
},
formatMatch: function(item) {
return item.label;
}
});
我想要它显示列表时的值,即来 self 的数据的标签。当我选择一个标签时,它应该会显示标签。但在提交时,它实际上应该提交 key 。 我的意思是我希望它作为 HTML 的选择框工作。
返回的JSON
[{"id":1,"label":"Mehdi Hassan"},{"id":2,"label":"Jagjit Singh"},{"id":3,"label":"Suresh Vadekar"}]
最佳答案
您的 JSON 似乎不是数组,只是一个对象( HashMap )。 查看官方docs :
Expected data format
The data from local data, a url or a callback can come in two variants:
An Array of Strings: [ "Choice1", "Choice2" ]
An Array of Objects with label and value properties: [ { label: "Choice1", value: "value1" }, ... ]
在您的情况下,它应该采用以下格式:
[
{"1":"Shad.aab"},
{"158":"Adadad"},
{"159":"Asdadad"},
{"166":"Abbas"},
{"167":"Sdadad"},
{"171":"Shadaab Please check it out"},
{"173":"Check This Please"},
]
(记住左边是标签,右边是值,我想在你的数据中,所有的都应该颠倒......)
关于javascript - JSON 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10286811/