前面已经写了两篇关于“Ext3.2+Struts2+Json”的博文,所以在这里就不会多说很多细节。
由于CP里面有个布尔类型Boolean的属性,如isOk,其中Ricki使用Ext定义该表单字段如下:
{
xtype:'radiogroup',
fieldLabel:'是否OK',
allowBlank: false,
items:[{boxLabel:'是',inputValue:'true',name:'cp.isOk',id:'yes'},
{boxLabel:'否',inputValue:'false',name:'cp.isOK',id:'no'}
]
}
修改某条具体的CP,且该CP的isOk值为true,弹出的修改CP信息窗口中,isOK单选框“是”并没有被选中。
在网上寻找了很久,都没找到(估计Ricki太菜了,才没找到)。
后来,只能在查询成功的success方法中作处理,代码如下:
success:function(form,action){
var jsonObj = Ext.util.JSON.decode(action.response.responseText);
var cpObj = jsonObj.cp;
if(cpObj.isOk == true){
//Ext.getCmp("yes").checked = true;//发现这个行不通
Ext.getCmp("yes").setValue("true");//设置选中单选框
}else{
//Ext.getCmp("no").checked = true;//发现这个行不通
Ext.getCmp("no").setValue("false");//设置选中单选框
}
}
这样就解决了问题,当然Ricki对ExtJS还不够熟练,如果您有更好的方法,请不吝赐教,谢谢!有空,欢迎到红番薯逛逛