我有一个组合框,在更改时触发jquery函数,它调用一个php脚本,它将数据库的结果按名称而不是id(表城市)排序,并创建一个id为id和name的json文件城市。 问题来自$ .getJSON(url,data)函数,它可以很好地检索所有json编码数据,但它似乎是通过id自动排序数据
例如,如果php页面生成
id name
3 Dania Beach
1 Miami
2 Weston
在jquery getJSON之后,它按id
对其进行排序id name
1 Miami
2 Weston
3 Dania Beach
有没有办法禁用排序?或者如何按名称保存订单?
答案 0 :(得分:13)
这是一个关联数组:顺序无关紧要。以下JSON对象是等效的:
{
"3" : "Danie Beach",
"1" : "Miami",
"2" : "Weston"
}
{
"1" : "Miami",
"2" : "Weston",
"3" : "Danie Beach"
}
如果您需要订购,则应该在JSON中嵌入一个数组:
{
"beaches" : [
{"key" : "3", "value" : "Danie Beach"},
{"key" : "1", "value" : "Miami"},
{"key" : "2", "value" : "Weston"}
]
}
示例用法:
jQuery.ajax({
...
dataType: 'json',
success: function(data) {
jQuery.each(data.beaches, function(i, beach) {
alert(i+': beach['+beach.key+'] = '+beach.value);
});
}
});