extjs3 弄一个简单的年份下拉框使用combo,combo json参数怎么才能读出来

糖醋西红柿 2017-01-03 10:24:28
后台方法返回json:
public String getTM(){
Calendar calendar = Calendar.getInstance();
Integer myYear = Integer.valueOf(calendar.get(Calendar.YEAR));
StringBuffer buff = new StringBuffer("[");
for(int i = myYear; i >= myYear-30; i--)
{
buff.append("{\"").append("id").append("\":\"").append(i).append("\",\"").append("value").append("\":\"").append(i).append("\"},");
}
buff.deleteCharAt(buff.length() - 1);
setJsonString(buff.toString());
return SUCCESS;
}

前面用combo来拿数据做一个下拉菜单:

layout:'column',
height:30,
style:'margin-top:3px;margin-left:8px;',
items:[{
xtype : 'combo',
name:'zsProposalAcademician.belongArea',
hiddenName:'zsProposalAcademician.belongArea',
valueField : 'id',
width:225,
displayField : 'value',
mode : 'local',
editable : false,
triggerAction : 'all',
forceSelection : true,
allowBlank : false,
store :new Ext.data.SimpleStore({
url:__ctxPath+'/instructor2/getTM.do',
autoLoad : true,
fields : ['id', 'value']
}),
listeners : {
scope : this,
'select' : function(combo){
//Ext.getCmp('recommendOrgId').setValue(combo.value);
},
render : function(combo){
combo.getStore().on("load", function(s, r, o) {
combo.setValue(r[0].get('value'));//第一个值
});
}
}
}]
浏览器工具返回数据查看:
[{"id":"2017","value":"2017"},{"id":"2016","value":"2016"},{"id":"2015","value":"2015"},{"id":"2014","value":"2014"}

折腾不出来 不知道是哪儿出了问题,extjs很多不太会 求解答。
...全文
75 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧