在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);  
}});