在jquery easyui 的demo中,通过url="combobox_data.json" 从服务器获取json数据,combobox_data.json的数据内容:
复制代码 代码示例:
[{
"id":0,
"text":""
},{
"id":1,
"text":"Java"
},{
"id":2,
"text":"C#"
},{
"id":3,
"text":"Ruby",
"selected":true
},{
"id":4,
"text":"Perl"
},{
"id":5,
"text":"Basic"
}]
它是一个没有名字的数组,通过ajax从服务器获得的json数据往往是有名字的,而不直接是一个没有名字的数组:
复制代码 代码示例:
{"datastore":[{"id":"1","text":"国庆节"},{"id":"2","text":"端午节"},{"id":"3","text":"中秋节"}]}
如何让combobox支持这种格式的json数据呢。
修改jquery.easyui.min.js中的第8127行,将
_603(_609,data,_60b);
中的data后面加上数组名字,此处是datastore。
复制代码 代码示例:
$.ajax({url:opts.url,dataType:"json",data:_60a,success:function(data){
_603(_609,data.datastore||data,_60b);
},error:function(){
opts.onLoadError.apply(this,arguments);
}});